Класс Pool

(PECL pthreads >= 2.0.0)

Введение

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

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

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

classPool {
protected$size;
protected$class;
protected$workers;
protected$ctor;
protected$last;
public__construct(int$size, string$class = ?, array$ctor = ?)
publiccollect(Callable$collector = ?): int
publicresize(int$size): void
publicshutdown(): void
publicsubmit(Threaded$task): int
publicsubmitTo(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 — Отправляет задачу конкретному воркеру для выполнения
To Top