浅谈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 相关文章推荐
解决Codeigniter不能上传rar和zip压缩包问题
Mar 07 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
两种php给图片加水印的实现代码
Apr 18 PHP
php微信公众平台开发之获取用户基本信息
Aug 17 PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 PHP
简单概括PHP的字符串中单引号与双引号的区别
May 07 PHP
PHP 极验验证码实例讲解
Sep 29 PHP
thinkphp项目如何自定义微信分享描述内容
Feb 20 PHP
Thinkphp事务操作实例(推荐)
Apr 01 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 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
ThinkPHP采用模块和操作分析
2011/04/18 PHP
浅析PHP开发规范
2018/02/05 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
jquery ajax 登录验证实现代码
2009/09/23 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
jQuery实现左右切换焦点图
2015/04/03 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
浅谈vue的几种绑定变量的值 防止其改变的方法
2018/03/01 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
基于Angular 8和Bootstrap 4实现动态主题切换的示例代码
2020/02/11 Javascript
详解Python中的各种函数的使用
2015/05/24 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
python 指定源路径来解决import问题的操作
2021/03/04 Python
中专自我鉴定范文
2013/10/16 职场文书
补充协议书范本
2014/04/23 职场文书
初三新学期计划书
2014/05/03 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
python ConfigParser库的使用及遇到的坑
2022/02/12 Python
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers