它们都是线程,但是Thread旨在执行一个任务(在其run方法中定义),然后退出。Worker旨在等待任务,以Stackable衍生对象的形式实现其自己的run方法,并按照插入顺序从堆栈中执行它们。 通过这种方式,Worker允许您重用上下文,它们提供了一种相当难以在用户空间编程的效率手段,但并非不可能。
$stack[] = ["ExClass", "method"];
并在一个线程中执行:while (true) { if (count($stack)) ${'callback'.!($callback = $stack->shift())}(); else $this->wait(); }
- bwoebi