# Класс Pool

(PECL pthreads >= 2.0.0)

## Введение

Объект Pool является контейнером для хранения объектов Worker, управления ими и регулирования их количества.

Контейнеризация представляет собой высший уровень абстракции над функционалом Worker включая управление ссылками в корректном для pthreads виде.

## Обзор класса

class Pool {
/* Свойства */
protected $size;
protected $class;
protected $workers;
protected $ctor;
protected $last;
/* Методы */
public function __construct(int `$size`, string `$class` = ?, array `$ctor` = ?)
public function collect(Callable `$collector` = ?): int
public function resize(int `$size`): void
public function shutdown(): void
public function submit(Threaded `$task`): int
public function submitTo(int `$worker`, Threaded `$task`): int
}

## Свойства

size
  максимальное количество объектов Worker
class
  класс Worker
workers
  ссылки на объекты Worker
ctor
  аргументы конструктора новых объектов Worker
last
  смещение последнего использованного Worker в workers

## Содержание

- Pool::collect — Собирает ссылки на выполненные задания
- Pool::__construct — Создаёт новый пул воркеров
- Pool::resize — Изменяет размер пула
- Pool::shutdown — Выключает все воркеры
- Pool::submit — Отправляет объект на исполнение
- Pool::submitTo — Отправляет задачу конкретному воркеру для выполнения

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open