krakjoe / promises
使用 pthreads v1.0.0+ 的 PHP Promises
v1.0.3
2014-12-08 17:11 UTC
Requires
- ext-pthreads: >=2.0.0
README
使用 pthreads v1.0.0+ 的 PHP Promises
Promise 管理器
Promise 管理器代表了一组线程池,用于并行完成承诺。
PromiseManager
的唯一公共 API 是构造函数
public PromiseManager::__construct($size = 4, $worker = \Worker::class, $ctor = [])
请参阅 PHP 手册中的 Pool::__construct
。
Promise
Promise
代表未来某个时间执行 Promisable
的公共接口的承诺
public Promise::__construct(PromiseManager $manager, Promisable $promisable)
Promise
提供了调度 Thenable
的公共接口后续执行的机制。
public Promise Promise::then(Thenable $then)
接口
IPromisible
public void IPromisable::onFulfill();
IThenable
public void IThenable::onFulfilled(Promisable $promised);
public void IThenable::onError(Promisable $promised);
注意
Promisible
或 Thenable
对象抛出的异常将被捕获并冒泡至调用后续的 Thenable::onError
。
$manager = new PromiseManager(); $promise = new Promise($manager, new CalculateTheMeaningOfLife()); $promise ->then( new AddTwo($promise)) ->then( new PrintMeaning($promise)); $manager->shutdown();
这是一个正在进行中的工作
请注意,这是一个正在进行中的工作,它不旨在与任何现有标准实现最大兼容性,而是一个易于使用的实现,能够兼容并充分利用 pthreads。
在阅读 API 时,请记住除了 PromiseManager
之外,你读到的一切都是 pthreads 对象