Php多线程

Roc*_*och 19 php multithreading

Php,并不是真的为多线程做的,但你有任何workarround来处理PHP中的线程.

Ada*_*ght 26

有一些解决方案,从"嗯,只是好"到"睁开你的眼睛".

  1. 将您的多线程代码编写为PHP扩展.可能是最受支持的,但您需要使用C(或扩展支持的其他语言)编写.
  2. Spawn子进程到底层操作系统,并使用标准文件句柄读/写他们的输入/输出.请参阅popen中的一条路线,或PCNTL.合理,您可以从命令行使用PHP.
  3. 通过CURL或类似方式向自己发出其他HTTP请求,从而捎带您的Web服务器多处理能力.保持所有代码"像网络一样",但冒着愤怒的支持开发人员跟踪你并打破拇指的风险.


小智 20

由于这是谷歌的最佳结果,因此php有一个新的扩展名,pthreads:http://www.php.net/manual/en/book.pthreads.php专门针对此.


rog*_*pvl 6

检查PCNTL库.它可以帮助您模拟一些线程行为.

还有这个课程:

"这个类可以使用对同一脚本的单独HTTP请求来模拟程序线程的执行.

它建立与同一Web服务器的HTTP连接以执行相同的PHP脚本.它发送一个请求,将名称传递给要执行的函数,并将一个参数传递给该函数.

请求的脚本执行一些检测线程执行请求的代码并调用指定的函数.

当线程请求脚本结束时,被调用函数的返回值将作为序列化字符串返回.

调用脚本可以在线程脚本运行时执行其他任务.稍后当线程脚本结束时,可以收集结果."