浅谈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入门速成(2)
Oct 09 PHP
Oracle 常见问题解答
Oct 09 PHP
十天学会php(1)
Oct 09 PHP
简体中文转换为繁体中文的PHP函数
Oct 09 PHP
PHP将DateTime对象转化为友好时间显示的实现代码
Sep 20 PHP
需要注意的几个PHP漏洞小结
Feb 05 PHP
ubuntu12.04使用c编写php扩展模块教程分享
Dec 25 PHP
ThinkPHP3.1新特性之内容解析输出详解
Jun 19 PHP
如何使用php等比例缩放图片
Oct 12 PHP
php curl常用的5个经典例子
Jan 20 PHP
Ubuntu彻底删除PHP7.0的方法
Jul 27 PHP
Laravel使用原生sql语句并调用的方法
Oct 09 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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
PHP 中的类
2006/10/09 PHP
php下获取客户端ip地址的函数
2010/03/15 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
javascript的事件描述
2006/09/08 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
jQuery实现单击和鼠标感应事件
2015/02/01 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
Angular如何在应用初始化时运行代码详解
2018/06/11 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
2020/01/16 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
通过python爬虫赚钱的方法
2019/01/29 Python
Series和DataFrame使用简单入门
2019/11/13 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
岗位职责的定义
2013/11/10 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
信息管理专业自荐书
2014/06/05 职场文书
计划生育标语
2014/06/23 职场文书
百年孤独读书笔记
2015/06/29 职场文书
会议简报格式范文
2015/07/20 职场文书
Python实现照片卡通化
2021/12/06 Python