码迷,mamicode.com
首页 > 其他好文 > 详细

Thread Safe 和 Non Thread Safe 的选择?

时间:2019-02-19 15:03:33      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:请求   api   系统   形式   isa   需要   方式   处理   动态库   

首先,Thread Safe 是指程序在运行时需对线程(thread)进行安全检查,以防止有新要求就启动新线程的 CGI 执行方式耗尽系统资源。None Thread Safe 则指程序在运行时不对线程进行安全检查。

  再来看 PHP 的两种服务模式:ISAPI 和 FastCGI 。ISAPI 服务模式是以 DLL 动态库的形式被调用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率。而 FastCGI 执行方式则是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查反而可以提高执行效率。

  所以,简单的概括就是当 PHP 以 ISAPI 模式运行服务时,选择 Thread Safe 版本;以 FastCGI 模式运行服务时,选择 Non Thread Safe 版本。可以通过 phpinfo() 函数页面里的 Thread Safety 项查询当前 PHP 版本是不是线程安全的。

注:ISAPI 和 FastCGI 无需在 PHP 中设置,其取决于Web Server(Apache、IIS、Nginx)以哪种模式与 PHP 合作完成服务。

Thread Safe 和 Non Thread Safe 的选择?

标签:请求   api   系统   形式   isa   需要   方式   处理   动态库   

原文地址:https://www.cnblogs.com/jlolox/p/10401059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!