# 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
publicfunction resize(int `$size`): void
publicfunction shutdown(): void
public function submit(Threaded `$task`): int
public function submitTo(int `$worker`, Threaded `$task`): int
}

## 属性

size
  Pool 对象可容纳的 Worker 对象的最大数量
class
  Worker 的类
workers
  指向 Worker 对象的引用
ctor
  构造新的 Worker 对象时所需的参数
last
  最后使用的 Worker 对象在池中的位置偏移量

## 目录

- Pool::collect — 回收已完成任务的引用
- Pool::__construct — 创建新的 Worker 对象池
- Pool::resize — 改变 Pool 对象的可容纳 Worker 对象的数量
- Pool::shutdown — 停止所有的 Worker 对象
- Pool::submit — 提交对象以执行
- Pool::submitTo — 提交一个任务到特定的 Worker 以执行

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