浅谈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 如何向 MySQL 发送数据
Oct 09 PHP
php array_map array_multisort 高效处理多维数组排序
Jun 11 PHP
30个php操作redis常用方法代码例子
Jul 05 PHP
CentOS安装php v8js教程
Feb 26 PHP
Cygwin中安装PHP方法步骤
Jul 04 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
PHP页面间传递值和保持值的方法
Aug 24 PHP
关于PHP中协程和阻塞的一些理解与思考
Aug 11 PHP
Laravel中使用Queue的最基本操作教程
Dec 27 PHP
PHP函数积累总结
Mar 19 PHP
KindEditor在php环境下上传图片功能集成的方法示例
Jul 20 PHP
PHP Ajax跨域问题解决方案代码实例
Aug 01 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
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
2012/05/07 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
alert和confirm功能介绍
2014/05/21 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
jquery图片倾斜层叠切换特效代码分享
2015/08/27 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
浅析使用Python搭建http服务器
2019/10/27 Python
Python socket模块ftp传输文件过程解析
2019/11/05 Python
python输出pdf文档的实例
2020/02/13 Python
python如何绘制疫情图
2020/09/16 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
介绍一下Mysql的存储引擎
2015/02/12 面试题
应届生人事助理求职信
2013/11/09 职场文书
白酒市场开发计划书
2014/01/09 职场文书
企业诚信承诺书
2014/05/23 职场文书
求职自我推荐信
2014/06/25 职场文书
合作协议书模板
2014/10/10 职场文书
高中生毕业评语
2014/12/30 职场文书
2015年检验科工作总结
2015/04/27 职场文书
小学班长竞选稿
2015/11/20 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
运动会主持人开幕词
2016/03/04 职场文书
公开致歉信
2019/06/24 职场文书
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸
Spring Boot实现文件上传下载
2022/08/14 Java/Android