The Pool class

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

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

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