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 新长度。 |