关于php的ts和nts ,你了解多少?篇文章给大家介绍的内容就是关于php中ts和nts的比较,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
1、简介
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服务器与你的或其它机器上的程序进行“交谈”的一种工具,说白了,cgi就是一种
后台语言,其可以和服务器之间进行通讯。此时的php是作为一个独立的程序运行的。特点就是耗费内存。
fast cgi:是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork.这种方式
是与语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较
高的性能。
cgi和fast cgi的区别找度娘。
2、选择
通常win下php和apache组合,以isapi的方式运行,而linux下可以是apche+php,php常常作为apache的模块,而nginx+php时,phpfast cgi的方式,即php-fpm的方式跑。
据说php-fpm这种方式释放了web服务器,使其仅仅处理请求和并发,而php处理则交php-fpm完成,故 nginx+php现在很受青睐,没测过!
相关文章推荐:
php中isset()函数与empty()函数的作用分析及简单的比较
以上是php中ts和nts的比较的详细内容。更多信息请关注PHP中文网其他相关文章!