Worker 类

(PECL pthreads >= 2.0.0)

简介

Worker 是一个具有持久化上下文的线程对象,通常用来在多个线程中使用。

当一个 Worker 对象开始之后,会执行它的 run 方法,但是即使 run 方法执行完毕,线程本身也不会消亡,除非遇到以下情况:

  • Worker 对象超出作用范围(没有指向它的引用了)

  • 代码调用了 Worker 对象的 shutdown 方法

  • 整个脚本终止了

这意味着程序员可以在程序执行过程中重用这个线程上下文: 在 Worker 对象的栈中添加对象会激活 Worker 对象执行被加入对象的 run 方法。

类摘要

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

目录