(PECL pthreads >= 2.0.0)
Pool::__construct — 建立新的 Worker 池
建構一個新的 worker 池。池會延遲建立它們的執行緒,這表示只有在需要執行任務時才會產生新的執行緒。
size
此池可建立的最大 worker 數量
class
新 Worker 的類別。如果沒有指定類別,則預設為 Worker 類別。
ctor
傳遞給新 worker 建構子的引數陣列
範例 #1 建立池
<?php
class MyWorker extends Worker {
public function __construct(Something $something) {
$this->something = $something;
}
public function run() {
/** ... **/
}
}
$pool = new Pool(8, \MyWorker::class, [new Something()]);
var_dump($pool);
?>
以上範例將輸出
object(Pool)#1 (6) { ["size":protected]=> int(8) ["class":protected]=> string(8) "MyWorker" ["workers":protected]=> NULL ["work":protected]=> NULL ["ctor":protected]=> array(1) { [0]=> object(Something)#2 (0) { } } ["last":protected]=> int(0) }