(PECL pthreads >= 2.0.0)
Pool::__construct — Создаёт новый пул воркеров
Создаёт новый пул рабочих. Пулы лениво создают свои потоки, что означает, что новые потоки будут создаваться только тогда, когда они необходимы для выполнения заданий.
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)
}