(PECL pthreads >= 2.0.0)
Pool::__construct — Создаёт новый пул воркеров
$size
, string $class
= ?, array $ctor
= ?)Создаёт новый пул рабочих. Пулы лениво создают свои потоки, что означает, что новые потоки будут создаваться только тогда, когда они необходимы для выполнения заданий.
size
Максимальное количество воркеров, которое может создать этот пул
class
Класс для новых воркеров. Если класс не указан, то по умолчанию используется класс Worker.
ctor
Массив аргументов для передачи конструкторам новых воркерам.
Пример #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) }