为什么PHP不支持多线程?

为什么PHP不支持多线程?,php,multithreading,language-design,Php,Multithreading,Language Design,我到处都读到PHP不支持多线程,但有一些变通方法。但是为什么PHP不支持多线程呢?对于服务器端脚本语言来说,这似乎是一个明显的遗漏。几年后编辑:您可以使用pthreads进行PHP多线程处理,但您真的想这样做吗 我不确定pthreads是否在许多托管环境中可用。坦率地说,我并不急于去发现 PHP对于许多应用程序来说最大的优势之一是它的隔离性:一个进程,一个请求。多处理通常是通过在请求期间将作业排队并在其他地方执行来完成的。例如,Laravel有“队列”: 因为PHP编写时没有考虑多线程,添加它

我到处都读到PHP不支持多线程,但有一些变通方法。但是为什么PHP不支持多线程呢?对于服务器端脚本语言来说,这似乎是一个明显的遗漏。

几年后编辑:您可以使用
pthreads
进行PHP多线程处理,但您真的想这样做吗

我不确定
pthreads
是否在许多托管环境中可用。坦率地说,我并不急于去发现

PHP对于许多应用程序来说最大的优势之一是它的隔离性:一个进程,一个请求。多处理通常是通过在请求期间将作业排队并在其他地方执行来完成的。例如,Laravel有“队列”:


因为PHP编写时没有考虑多线程,添加它将是一项巨大的工作(基本上是100%的重写)


有人会说PHP几乎是一个巨大的堆:。从这个角度来看,不包括线程也就不足为奇了。

阅读此URL,我认为它对您完全有帮助

PHP多线程——伪造

PHP本身并不真正支持多线程,但有一些方法可以实现“伪”多线程。这是我在PHPClasses.org时事通讯中看到的一个——


请注意,该类是为在Web服务器上使用而设计的,而不是从命令行(或类似命令行)运行PHP脚本。如果你使用PHP作为一种独立的脚本语言,请查看本文末尾的一些备选方案。

我想你说的是脚本语言。与其说它是一个完整的问题解决方案,不如说它是一种胶水。如果您正在做一些需要线程的事情,那么最好使用比PHP更面向性能的东西。PHP是。。。UH奇怪,因为缺少一个不那么冒犯性的术语。嗯……Python通常被认为是“脚本”(尽管它用成熟的PLs模糊了界限)。另外,您可以在Python中使用线程,甚至在web开发中,对吗?你可以。python中的线程技术有些缺陷。不过,同样的规则也适用,如果您正在做一些效率驱动的事情,那么python不是一个好的选择。至少,人们普遍认为Python的设计要比PHP好。那么…现在(多线程)派对已经晚了?就这样?虎头蛇尾的:|。那么,为什么不首先考虑多线程支持呢?Lazy Rasmus Lerdorf?PHP最初是作为Rasmus跟踪其在线简历访问的一个特定用途的个人项目。从那以后,它变成了“其他的东西”。@jnylen这似乎是一个非常糟糕的答案。自2012年起,PHP中就提供了多线程。过来看。还使用pthreads构建。@jnylen我认为您可以改进您的答案。多线程在PHP中通过提供。请检查一下。2012年以来我学到了很多。我仍然不会尝试使用多线程PHP。