Pthreads 与 Parallel 在 PHP 上的无限循环

brb*_*brb 5 php parallel-processing pthreads

我正在寻找一种在 PHP 上执行多线程的方法,并遇到了 pthreads PHP API,我认为这很容易实现(但是我必须找出如何安装支持 ZTS 的 PHP 版本对 Debian) .

问题是,当我查看 pthreads php.net 文档时,我发现了这个:

提示 考虑改用并行。

我不知道的。

我的目标是获取项目列表,并为每个项目打开一个 websocket,它永远监听某些更新。所以线程应该永远存在,如果被杀死,或者停止,或者这样,它应该重新启动(但是我认为我可以在外部处理这个)。

我不确定哪一种最适合这种情况。有什么推荐吗?

Joe*_*ins 10

首先要说的是,您的应用程序的描述中没有任何内容需要使用线程,看起来您真正想要的是异步并发:异步并发通常用于增加 I/O 绑定代码的吞吐量,通过消除不必要的等待。并行并发通常用于通过利用更多内核来增加 CPU 绑定代码的吞吐量。

有一些很好的框架可以在 PHP 中实现非阻塞 I/O,我推荐的一个是amphp

当然,我可能没有对您的应用程序的完整描述,所以转到 pthreads 的主题:它已被 parallel 淘汰,新项目应该使用 parallel。

免责声明:我写了 pthreads 和 parallel ...