PHP - Worker 函数


Worker 类

Worker 线程具有持久的上下文,因此在大多数情况下应该在 Threads 上使用。

每当 Worker 类启动时,都可以执行 run 方法。但是 Thread 类在满足以下条件之一之前无法离开 -

  • Worker 超出范围(不再保留更多引用)
  • 程序员调用关闭
  • Script dies

这意味着程序员可以在整个执行过程中重用上下文。将对象放置在 Worker 的堆栈上可能会导致 Worker 执行堆叠对象 run 方法。

类概要


Worker extends Thread implements Traversable , Countable , ArrayAccess {
   /* 方法 */
   public int collect ([ Callable $collector ] )
   public int getStacked ( void )
   public bool isShutdown ( void )
   public boolean isWorking ( void )
   public bool shutdown ( void )
   public int stack ( Threaded &$work )
   public int unstack ( void )
   
   /* 继承方法 */
   public void Thread::detach ( void )
   public integer Thread::getCreatorId ( void )
   public static Thread Thread::getCurrentThread ( void )
   public static integer Thread::getCurrentThreadId ( void )
   public integer Thread::getThreadId ( void )
   public static mixed Thread::globally ( void )
   public boolean Thread::isJoined ( void )
   public boolean Thread::isStarted ( void )
   public boolean Thread::join ( void )
   public void Thread::kill ( void )
   public boolean Thread::start ([ integer $options ] )
}

函数列表

函数 描述
Worker::collect() 获取对已完成任务的引用。
Worker::getStacked() 获取剩余的 stack 大小。
Worker::isShutdown() 判断引用的 Worker 是否已关闭。
Worker::isWorking() 判断 Worker 是否正在执行 Stackables。
Worker::shutdown() 在执行之前堆叠的所有 Stackables 后关闭 Worker。
Worker::stack() 返回 stack 新长度。