# La classe Pool

(PECL pthreads >= 2.0.0)

## Introduction

Un Pool est un conteneur pour, et controllé par, un nombre ajustable de Workers.

Le pooling fournit un niveau élevé d'abstraction sur la fonctionnalité Worker, en incluant la gestion des références dans le sens requis par pthreads.

## Synopsis de la classe

class Pool {
/* Propriétés */
protected $size;
protected $class;
protected $workers;
protected $ctor;
protected $last;
/* Méthodes */
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
}

## Propriétés

size

  Nombre maximum de Workers que ce pool peut utiliser

class

  La classe du Worker

workers

  références vers les Workers

ctor

  Les arguments pour le constructeur des nouveaux Workers

last

  offset dans les workers du dernier Worker utilisé

## Sommaire

- Pool::collect — Collecte les références des tâches achevées
- Pool::__construct — Crée un nouveau Pool de Workers
- Pool::resize — Redimensionne le Pool
- Pool::shutdown — Arrête tous les workers
- Pool::submit — Soumet un objet pour exécution
- Pool::submitTo — Soumet une tâche à un worker spécifique pour exécution