The Pool class

(PECL pthreads >= 2.0.0)

Introduction

A Pool is a container for, and controller of, an adjustable number of Workers.

Pooling provides a higher level abstraction of the Worker functionality, including the management of references in the way required by pthreads.

Class synopsis

class Pool {
/* Properties */
protected $size;
protected $class;
protected $workers;
protected $ctor;
protected $last;
/* Methods */
public __construct(int $size, string $class = ?, array $ctor = ?)
public collect(Callable $collector = ?): int
public resize(int $size): void
public shutdown(): void
public submit(Threaded $task): int
public submitTo(int $worker, Threaded $task): int
}

Properties

size
maximum number of Workers this Pool can use
class
the class of the Worker
workers
references to Workers
ctor
the arguments for constructor of new Workers
last
offset in workers of the last Worker used

Table of Contents