Pool::__construct

(PECL pthreads >= 2.0.0)

Pool::__constructСоздаёт новый пул воркеров

Описание

public Pool::__construct(int $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)
}