浅谈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缓存技术介绍
Nov 25 PHP
php 魔术方法使用说明
Oct 20 PHP
PHP PDO函数库详解
Apr 27 PHP
PHP实现微信公众平台音乐点播
Mar 20 PHP
mac下Apache + MySql + PHP搭建网站开发环境
Jun 02 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
Dec 17 PHP
浅谈php+phpStorm+xdebug配置方法
Sep 17 PHP
PHP获取路径和目录的方法总结【必看篇】
Mar 04 PHP
php无限级评论嵌套实现代码
Apr 18 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 16 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+javascript实现二级级联菜单的制作
2008/05/06 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
php图片添加水印例子
2016/07/20 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
实例讲解JS中数组Array的操作方法
2014/05/09 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
jQuery结合ajax实现动态加载文本内容
2015/05/19 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
js删除数组元素、清空数组的简单方法(必看)
2016/07/27 Javascript
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
Node.js数据库操作之查询MySQL数据库(二)
2017/03/04 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
Python中用Spark模块的使用教程
2015/04/13 Python
python开发简易版在线音乐播放器
2017/03/03 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
Django通过json格式收集主机信息
2020/05/29 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
利用css3制作3D样式按钮实现代码
2013/03/18 HTML / CSS
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
Java基础类库面试题
2013/09/04 面试题
《雷雨》教学反思
2014/02/20 职场文书
创建精神文明单位实施方案
2014/03/08 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
教职工代表大会主持词
2014/04/01 职场文书
2015年派出所民警工作总结
2015/04/24 职场文书
英雄儿女观后感
2015/06/09 职场文书
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python