(PECL pthreads >= 2.0.0)

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

Описание

public Pool 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)
}