Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 php单线程怎么理解

php单线程怎么理解

发布时间:2020-07-31   编辑:www.jquerycn.cn
jquery中文网为您提供php单线程怎么理解等资源,欢迎您收藏本站,我们将为您提供最新的php单线程怎么理解资源
单线程的进程,有一个特性就是顺序执行,当遇到比较耗时的任务时,还未执行的任务就会处于等待状态,一定要等到前面的任务完成了,才会往后执行。

PHP就是典型的单线程,它一定是顺序执行的,前面不执行完,后面执行不了

当然,swoole除外 (推荐学习:PHP视频教程)

PHP 从设计之初到流行起来都没有出现明显需要用多线程才能解决的需求。某些需要用到多线程的地方也有相应的解决方案和替代方案。多线程并不总是比单线程优,多线程可能会引入其他问题(例如:两个线程同时调用一个类里的同一个方法时,可能出现死锁的情况)。

你可以这样理解 对应一个客户的一个页面请求处理的php是单线程处理的, 这样一来就可以自上而下的去编辑/理解代码中的业务逻辑了, 但是 php 可以同时开很多线程来处理 很多用户请求的同一个PHP , 所以 php 也可以看成是"多线程"的。

每个PHP文件的执行是单线程的,但是,服务器(apache/nigix/php-fpm)是多线程的。每次对某个PHP文件的访问服务器都会创建一个新的进程/线程,用来执行对应的PHP文件。

也就是说对于一个请求来说PHP是单线程的,但是多个请求间是并发的。

其实一般写 PHP 程序认为是单线程的就可以了。多个请求之间相互的关系就是,有些时候读写数据库,文件,session等会加锁,会导致后面的请求挂起等待前面的请求执行完才继续。

至于协程,只能说是一种新的程序执行流程(旧的是顺序,判断,循环),本质是也是单线程的

所以准确的说php是单线程的,一定程度上也可以看成是“多线程”!!!

以上就是php单线程怎么理解的详细内容,更多请关注jquery中文网其它相关文章!

  • 本文原创发布jQuery中文网,转载请注明出处,感谢您的尊重!
  • 您可能感兴趣的文章:
    php单线程怎么理解
    Win7系统无线怎么开启?windows 7 无线开启方法图解
    Windows 7中无线不能开启怎么办?无线不能开启解决方法
    笔记本电脑搜索不到无线信号怎么办?如何解决
    对php-cli环境的理解
    笔记本无线搜不到wifi信号怎么办?搜不到wifi解决方法
    PHP线程安全和非线程安全版本的区别
    php进程还是线程
    python和大数据有什么关系
    php采集程序

    [关闭]