python html5 bootstrap 视频教程

德云社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5264|回复: 2

PHP 中的 Thread Safety 与 None-Thread Safe 的区别

[复制链接]

20

主题

42

帖子

153

积分

版主

Rank: 7Rank: 7Rank: 7

金钱
91
金币
2
威望
0
贡献
0
发表于 2014-12-30 22:48:44 | 显示全部楼层 |阅读模式
AI人工智能 语音助理 人工翻译 教程
PHP 中的 Thread Safety 与 None-Thread Safe 的区别

       Thread Safety 简称 TS,即线程安全;一般在 IIS 以 ISAPI 方式加载的时候才选择 Thread Safety PHP 版本。

       None-Thread Safe 简称 NTS,即非线程安全;一般以 fast cgi 方式运行的时候才选择 None-Thread Safe PHP 版本,具有更好的性能。

多进程、多线程
       从 2000 年 10 月 20 日发布的第一个 Windows 版 PHP 3.0.17 开始的都是线程安全的版本;这是由于 Linux/Unix 系统都采用多进程工作方式,而 Windows 系统采用多线程工作方式。

       若在 IIS 下以 CGI 方式运行 PHP 会非常慢,这是由于 CGI 模式是建立在多进程基础之上,而非多线程。一般会把 PHP 配置成以 ISAPI 的方式运行,ISAPI 是多线程方式,这样就快多了。但存在一个问题,很多常用 PHP 扩展是以 Linux/Unix 多进程思想开发的,这些扩展在 ISAPI 方式下运行时会出错搞垮 IIS。因此 IIS 下 CGI 模式才是 PHP 运行的最安全方式,但 CGI 模式对于每个 HTTP 请求需要重新加载和卸载整个 PHP 环境,资源消耗巨大。
014.jpg
CGI、FastCGI
       为兼顾 IIS 下 PHP 的效率和安全,微软给出了 FastCGI 的解决方案。FastCGI 可让 PHP 的进程重复利用,而不是每一新请求都重开一进程。FastCGI 还允许几个进程同时执行。这样既解决了 CGI 进程模式资源消耗太大的问题,又利用上了 CGI 进程模式不存在线程安全问题的优势。

TS、NTS
       因此,若使用 ISAPI 方式运行 PHP,就必须采用 Thread Safe (线程安全) 版本;而使用 FastCGI 模式运行 PHP 的话,就没必要检查线程安全,使用 None Thread Safe (NTS,非线程安全) 的版本能够更好的提高效率。

版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。

AI人工智能 语音助理 人工翻译 教程
回复

使用道具 举报

20

主题

42

帖子

153

积分

版主

Rank: 7Rank: 7Rank: 7

金钱
91
金币
2
威望
0
贡献
0
 楼主| 发表于 2014-12-30 22:48:55 | 显示全部楼层
在线订购 便捷实惠 品质保证 终生保修
回复 支持 反对

使用道具 举报

20

主题

42

帖子

153

积分

版主

Rank: 7Rank: 7Rank: 7

金钱
91
金币
2
威望
0
贡献
0
 楼主| 发表于 2014-12-30 22:49:12 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|Sitemap|小黑屋|德云社区 |网站地图  

GMT+8, 2024-4-26 02:50 , Processed in 0.026286 second(s), 30 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

快速回复 返回顶部 返回列表