浅谈php的TS和NTS的区别


Posted in PHP onMarch 13, 2019

ts(Thread-Safety)即线程安全,多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染php以ISAPI方式加载的时候选择这个版本.,php以ISAPI方式加载的时候选择这个版本.

nts(None-Thread Safe)即非线程安全,就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的是 脏数据php以fast cgi方式运行的时候选择这个版本,具有更好的性能;

ISAPI(Internet Server Application Programming Interface), 通常是指被http服务器所加载,以服务器的模块形式运行,由微 软提出,故只能在win平台上运行,例如win下的apache,iis[据说用fast cgi 方式工作更稳定],而linux上php 则以 Apache模块或者php-fpm的方式运行。

cgi(Common Gateway Interface):HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,说白了,cig就是一种 后台语言,其可以和服务器之间进行通讯。此时的php是作为一个独立的程序运行的。特点就是耗费内存。

fast cgi.是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork.这种方式 是与语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较 高的性能。

ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择ThreadSafe版本。
而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择NonThread Safe版本。
通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版。

以上所述是小编给大家php的TS和NTS的区别,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP伪静态页面函数附使用方法
Jun 20 PHP
php mssql 日期出现中文字符的解决方法
Mar 10 PHP
php 学习资料零碎东西
Dec 04 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
Dec 29 PHP
探讨php define()函数及defined()函数使用详解
Jun 09 PHP
探讨php中防止SQL注入最好的方法是什么
Jun 10 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 PHP
php使用类继承解决代码重复的问题
Feb 11 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
Sep 05 PHP
PHP7生产环境队列Beanstalkd用法详解
May 19 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
May 26 PHP
浅谈PHP各环境下的伪静态配置
Mar 13 #PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 #PHP
Laravel事件监听器用法实例分析
Mar 12 #PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
Mar 12 #PHP
PHP DB 数据库连接类定义与用法示例
Mar 11 #PHP
PHP实现的杨辉三角求解算法分析
Mar 11 #PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
Mar 11 #PHP
You might like
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
PHP与MySQL开发的8个技巧小结
2010/12/17 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
PHP实现的构造sql语句类实例
2016/02/03 PHP
php实现图片缩略图的方法
2016/03/29 PHP
网页图片延时加载的js代码
2010/04/22 Javascript
Javascript 面向对象 重载
2010/05/13 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
jquery.validate使用详解
2016/06/02 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
跟老齐学Python之集合(set)
2014/09/24 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
python获取array中指定元素的示例
2019/11/26 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
Lentiamo丹麦:购买便宜的隐形眼镜
2021/01/13 全球购物
求职自荐信
2013/12/14 职场文书
文明餐桌行动实施方案
2014/02/19 职场文书
公安学专业求职信
2014/07/27 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL