PHP Non Thread Safe和Thread Safe区别【转】
程序员文章站
2022-05-27 19:01:43
None Thread Safe就是非线程安全,在执行时不进行线程(thread)安全检查。 Thread Safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程,耗尽系统资源。 再看看这两者的选择。 为了与外部交换数据,PHP提供了一种叫SAPI的接口。 SAP ......
none thread safe就是非线程安全,在执行时不进行线程(thread)安全检查。
thread safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程,耗尽系统资源。
再看看这两者的选择。
为了与外部交换数据,php提供了一种叫sapi的接口。
sapi是一个中间过程,提供了一个和外部通信的接口,有点类似于socket。
sapi使得php可以和其他应用进行交互数据(如apache、nginx等)。
php默认提供了很多种sapi,常见的提供给apache、nginx、iis6/7的fastcgi,单独给iis的isapi,以及shell的cli。
fastcgi执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率。
而线程安全检查是为isapi方式的php准备的,也就是为iis准备的,因为有许多php模块都不是线程安全的,所以需要使用thread safe的php。
所以,如果是以 fastcgi 执行 php ,都建议用non thread safe的 php (zip安装包)。
文章转自:
推荐阅读
-
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
-
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
-
php5 non-thread-safe和thread-safe这两个版本的区别分析
-
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
-
PHP中VC6 X86跟VC9 X86的区别及 Non Thread Safe的意思
-
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe 是什么
-
PHP版本VC6跟VC9、Non Thread Safe和Thread Safe的区别
-
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
-
PHP的线程安全(Thread Safe)与非线程安全(None Thread Safe)版本的区别
-
PHP Thread Safe and Non Thread Safe