加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php不支持多线程,所以不用考虑并发问题?这句话,对吗

发布时间:2022-09-16 14:46:26 所属栏目:PHP教程 来源:
导读:  其实这句话本身是歧义的。

  首先看前提条件:

  php不支持多线程

  PHP 语言代码本身(大部分情况下)是不关心自身是多进程还是多线程的。但,这并不表示 PHP 不支持多线程/多进程。php-fpm 就
  其实这句话本身是歧义的。
 
  首先看前提条件:
 
  php不支持多线程
 
  PHP 语言代码本身(大部分情况下)是不关心自身是多进程还是多线程的。但,这并不表示 PHP 不支持多线程/多进程。php-fpm 就是多进程单线程的,apeche 的多线程模式就是多线程的。PHP 只是一般不会在 PHP 代码级别直接控制进程或者线程。
 
  不用考虑并发问题
 
  前提不成立,结论也就没有什么因果关系了。
 
  我理解说这句话的人的本意是:因为 PHP 一般不支持控制进程、线程,所以也不会从直接通过代码控制进程、线程来应对并发问题。
 
  这么说是没什么问题的。
 
  但是,并发问题还依旧是并发问题,不会因为 PHP 代码本身不太支持解决并发问题,并发问题就不存在的。
 
  解决 PHP 的并发问题常规方式是通过各种配置的调整(nginx.conf, php-fpm.ini, php.ini)、然后就是负载均衡之类的方式来解决的。这些不是 PHP 代码php多线程,但是是与 PHP 相关密切的东西,作为 PHPer 也是需要掌握的。
 
  另外,针对具体的业务类型修改 PHP 逻辑,甚至前端调用逻辑也是有的。还有包括 swoole 之类彻底抛弃 php-fpm 的扩展方式,将 PHP 从基础上支持异步并发(然而还是单线程)。这些并发优化方式就要针对具体业务来选择了。
 
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!