# Worker クラス

(PECL pthreads >= 2.0.0)

## はじめに

ワーカースレッドには永続コンテキストがあり、たいていの場合はスレッドに対して使えます。

ワーカーを開始させると run メソッドを実行しますが、以下のいずれかの条件を満たすまでスレッドは終了しません。

- Worker がスコープから外れる (どこからも参照されなくなる)

- プログラマーが shutdown を呼ぶ

- スクリプトが終了する

つまり、プログラマーは実行中のコンテキストを再利用できるということです。 オブジェクトを Worker のスタックに置くと、そのオブジェクトの run メソッドを Worker が実行します。

## クラス概要

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

## 目次

- Worker::collect — Collect references to completed tasks
- Worker::getStacked — Gets the remaining stack size
- Worker::isShutdown — State Detection
- Worker::isWorking — 状態を検出する
- Worker::shutdown — Shutdown the worker
- Worker::stack — Stacking work
- Worker::unstack — Unstacking work