PHP是单线程还是多线程?

PHP是单线程还是多线程?

大家好,又见面了,我是全栈君。

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

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

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

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112150.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月9日 下午9:00
下一篇 2022年2月9日 下午9:00


相关推荐

  • 关于UNPIVOT 操作符

    关于UNPIVOT 操作符

    2021年11月25日
    42
  • 虚拟机怎么安装vmware tools

    虚拟机怎么安装vmware tools这篇文章主要为大家详细介绍了VMwareWorkstation12安装Ubuntu和VMwareTools教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下之前我通过百度经验上的过程来安装Ubuntu16,但是每次安装的时候没有什么问题,就是安装好了Tools,也设置好了共享文件夹,但是在路径:/mnt/hgfs下每次都找不到共享文件夹。后来我研究了好久,应该是安装的时候…

    2022年5月25日
    41
  • 基于Python的频谱分析(一)

    基于Python的频谱分析(一)

    2021年11月21日
    44
  • 作为uboot到kernel中DTS DTSI DTB等关系

    作为uboot到kernel中DTS DTSI DTB等关系1 设备树 DeviceTree 基本概念及作用在内核源码中 存在大量对板级细节信息描述的代码 这些代码充斥在 arch arm plat gt xxx 和 arch arm mach xxx 目录 对内核而言 这些 platform 设备 resource I2C board info spi board info 以及各种硬件的 platform data 绝大多数纯属垃圾冗余代码 为了解决这一问题

    2026年3月18日
    5
  • ViewStub详解

    ViewStub详解首先上源码:packageandroid.view;importandroid.annotation.IdRes;importandroid.annotation.LayoutRes;importandroid.content.Context;importandroid.content.res.TypedArray;importandroid.graphics.Canvas;importandroid.util.AttributeSet;importandroid.widg

    2022年6月28日
    27
  • (亲测解决)每次打开excel文件都会出现两个窗口,一个是空白的sheet1,另一个是自己的文档

    (亲测解决)每次打开excel文件都会出现两个窗口,一个是空白的sheet1,另一个是自己的文档目录一、问题描述二、问题原因三、解决步骤3.1Office解决步骤3.2WPS解决步骤一、问题描述每次打开Excel(WPS、Office都会出现,当前版本是Office2016)文件都会出现两个窗口,一个是空白的sheet1,,另一个是自己的文档,让小编是在很烦,因为每次打开一个文件就相当于打开两个,还会让Excel打开速度变慢,在网上找了很多解决办法,卸载重装过…

    2022年10月10日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号