浅谈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 相关文章推荐
模仿OSO的论坛(一)
Oct 09 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
php判断并删除空目录及空子目录的方法
Feb 11 PHP
PIGCMS 如何关闭聊天机器人
Feb 12 PHP
用php来限制每个ip每天浏览页面数量的实现思路
Feb 24 PHP
php遍历目录方法小结
Mar 10 PHP
PHP.ini安全配置检测工具pcc简单介绍
Jul 02 PHP
PHP读书笔记_运算符详解
Jul 01 PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 PHP
php实现留言板功能(代码详解)
Mar 28 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
Mar 12 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
fleaphp crud操作之findByField函数的使用方法
2011/04/23 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
2010/03/23 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
2016/05/05 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
利用纯js + transition动画实现移动端web轮播图详解
2017/09/10 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
Python部署web开发程序的几种方法
2017/05/05 Python
Python模拟用户登录验证
2017/09/11 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
tensorflow更改变量的值实例
2018/07/30 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
Python如何发送与接收大型数组
2020/08/07 Python
高级Java程序员面试要点
2013/08/02 面试题
会计专业的自荐信
2013/12/12 职场文书
促销活动总结模板
2014/07/01 职场文书
化学工程专业求职信
2014/08/10 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers