php线程安全(TS)和非线程(NTS)安全区别

栏目: PHP · 发布时间: 6年前

内容简介:php线程安全(TS)和非线程(NTS)安全区别

以下线程安全简称TS

非线程安全简称NTS

首先unix/linux不强调使用线程模型,强调使用多进程模型,windows下面才强调使用多线程。创建进程的速度比创建线程慢几倍,并且相互通信比线程慢很多,毕竟人家线程是资源共享嘛,并且进程通信相对麻烦,至于为什么 linux 还强调使用多进程模型呢?首先看下多线程和多进程的优缺点

多进程优点:资源独立,不会相互影响,各种不同的代码水平的程序不会相互影响

多线程优点:资源共享,创建线程速度快,相互通信快

个人认为使用多进程是因为资源独立,奔溃不受影响,这也是linux稳定的原因之一吧!具体是什么原因这里不讨论了如果您知道请在评论中写上。

早期的window上面使用iis+php是使用CGI方式的,就是需要不停创建进程,而在windows中创建进程的消耗是比较大的。所以windows推出了isapi多线程运行才能保证效率,可是上面提到了多线程和多进程的优缺点,php很多扩展是在采用linux下推荐的多进程模型,这些扩展在windows下面运行可能会造成iis的奔溃,这对于高可用来说是不能忍受的。所以就有了线程安全版本,不会弄垮iis服务器。

但是我想保证效率的同时也要保证iis的安全怎么办呢?这是要就有人提出fastcgi概念,就是将cgj解释进程保存在内存中,接受fastcgi进程管理器的调度,然后复用的过程,

总结:如果您在windows中使用isapi运行 php 就要使用ts版本,如果使用了cgi或者fastcgi使用nts,保证了效率的同时也保证了安全,当然由于linux推荐使用多进程直接使用nts版本即可。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Lighttpd

Lighttpd

Andre Bogus / Packt Publishing / 2008-10 / 39.99

This is your fast guide to getting started and getting inside the Lighttpd web server. Written from a developer's perspective, this book helps you understand Lighttpd, and get it set up as securely an......一起来看看 《Lighttpd》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具