【问题标题】:PHP threads ( pthreads ) are working but there isn't any Stackable classPHP 线程 ( pthreads ) 正在工作,但没有任何 Stackable 类
【发布时间】:2016-07-27 01:06:00
【问题描述】:

最近几天我在 PHP 7.0.1 中使用 PHP 线程 (pthreads)(在配置中带有 –enable-maintainer-zts),并且在使用 Thread 或 Worker 时一切正常。当我尝试为 Worker 创建一个从 Stackable 继承的类时,我得到“致命错误:找不到类 'Stackable'”。

使用 get_declared_classes() 我意识到对于线程我只有类 Threaded 、 Volatile 、 Thread 、 Worker 和 Pool。 我认为这是 pthreads 版本的问题(它是最新的 3.1.15),但卸载它并安装回 3.0.0 时发生了同样的错误。

PHP 手册(英文)也没有提到 Stackable 类,尽管它对于使 Worker 工作是必不可少的。我在这里想念什么?

【问题讨论】:

标签: php multithreading pthreads


【解决方案1】:

我会回答我自己的问题。 PHP手册似乎没有更新。您不需要 Stackable 来使 Worker(甚至是 Pool)工作。它可能只是一个 Threaded 对象。要通过 pthreads 了解 PHP 中线程的最新实现,请阅读 https://github.com/krakjoe/pthreads 以及那里的示例和测试。 Joe Watkins 的工作非常令人钦佩,作为一名程序员,我觉得有必要感谢他。但是更新 PHP 手册也很好,甚至是那里的参考,它已经过时了。

【讨论】:

  • 欢迎来到 SO,jkon。
【解决方案2】:

Stackable 从 2.0.0 开始只是 Threaded 的别名。所以你最好使用 Threaded 类。

this pthreads issue

【讨论】:

    猜你喜欢
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 2021-04-19
    • 2017-10-18
    • 1970-01-01
    相关资源
    最近更新 更多