hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - PHP问题 - 正文 请牢记本站网址www.sosophp.cn

php是多线程照样单线程【php题目】

2019-11-26PHP问题搜搜PHP网45°c
A+ A-
PHP从设想之初到流行起来都没有涌现显著须要用多线程才处置惩罚的需求。

某些须要用到多线程的处所也有响应的处置惩罚计划和替换计划。多线程并不老是比单线程优,多线程可以会引入其他题目(比方:两个线程同时挪用一个类里的同一个要领时,可以涌现死锁的状况)。(引荐进修:PHP编程从入门到通晓)

你可以如许明白 对应一个客户的一个页面要求处置惩罚的php 是单线程处置惩罚的, 如许一来就可以自上而下的去编辑/明白代码中的营业逻辑了, 然则 php 可以同时开许多线程来处置惩罚 许多用户要求的同一个PHP , 所以 php 也可以看成是"多线程"的。

每一个PHP文件的实行是单线程的,然则,服务器(apache/nigix/php-fpm)是多线程的。每次对某个PHP文件的接见服务器都邑建立一个新的历程/线程,用来实行对应的PHP文件。

也就是说关于一个要求来讲PHP是单线程的,然则多个要求间是并发的。

实在平常写 PHP 递次认为是单线程的就可以了。多个要求之间互相的关联就是,有些时刻读写数据库,文件,session等会加锁,会致使背面的要求挂起守候前面的要求实行完才继承。

至于协程,只能说是一种新的递次实行流程(旧的是递次,推断,轮回),实质是也是单线程的

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

PHP多线程

在默许状况下PHP是不支撑多线程的,要运用多线程须要装置 扩大,现在经常使用的扩大有pcnlt,POSIX ,pthreads,然则用的最多的照样pthreads扩大,它经由过程运用参数来指定来编译PHP时的线程平安体式格局,使其支撑多线程

在运用线程之前首先要斟酌到线程的平安题目,线程平安指的是某个函数或函数库在多线程环境中被挪用时,可以准确的处置惩罚多线程之间的同享变量,使得递次的功用可以准确完成

PHP完成线程平安

PHP完成线程平安重要经由过程 TSRM 机制,经由过程此机制可以对全局变量和静态变量举行断绝,而且给每一个线程都复制了一份全局变量和静态变量。各个线程运用的都是主线程的一个备份。如许就避免了变量争执,也不会发作线程平安的题目。

PHP 对多线程的封装保证了线程平安,所以开发人员就不须要在斟酌读写争执的题目了,也使得代码越发平安。不过如许做也有不好的处所,比方当子线程最先运转时,主线程便再也没法对子线程运转细节举行调整了,失去了音讯通报才能

以上就是php是多线程照样单线程的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
php是多线程照样单线程【php题目】

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签: