PHP Conference Japan 2024

Pool::__construct

(PECL pthreads >= 2.0.0)

Pool::__construct建立新的 Worker 池

描述

public Pool::__construct(int $size, string $class = ?, array $ctor = ?)

建構一個新的 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)
}

新增筆記

使用者貢獻筆記

此頁面沒有使用者貢獻的筆記。
To Top