浅谈php中线程安全和非线程安全的不同
程序员文章站
2022-03-08 23:33:10
...
本文主要讲述的是PHP中的TS和NTS的区别,感兴趣的朋友可以了解一下。
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解释器进程保持在内存中并因此获得较 高的性能。
【推荐课程:PHP视频教程】
以上就是浅谈php中线程安全和非线程安全的不同的详细内容,更多请关注其它相关文章!
推荐阅读
-
PHP 线程安全与非线程安全版本的区别深入解析
-
Windows下的PHP安装文件线程安全和非线程安全的区别
-
Java中的集合和线程安全
-
PHP线程安全和非线程安全版本的区别_PHP教程
-
PHP的线程安全(Thread Safe)与非线程安全(None Thread Safe)版本的区别
-
j在多线程中java关键字synchronized的修饰静态方法和非静态方法得到的不同情况
-
j在多线程中java关键字synchronized的修饰静态方法和非静态方法得到的不同情况
-
Windows下的PHP安装文件线程安全和非线程安全的区别
-
PHP非线程安全与线程安全版本的选择技巧
-
php线程安全版和非线程安全版应该用哪个?