camspiers / pthreads-pool
此包最新版本(0.2.0)没有可用的许可证信息。
pthread的线程池实现
0.2.0
2014-02-09 21:46 UTC
Requires
- php: >=5.5.0
This package is auto-updated.
Last update: 2024-09-19 14:13:22 UTC
README
pthreads 的线程池实现
示例
namespace Camspiers\Pthreads; require_once 'vendor/autoload.php'; class Job extends Work { protected function process() { // Do some work, and optionally return some data return range(1, 1000); } } $pool = new Pool(); for ($i = 0; $i < 1000; $i++) { $pool->submitWork(new Job()); } // get jobs as they finish foreach ($pool->getFinishedJobs() as $job) { var_dump($job->getData()); } $pool->shutdown();
与自动加载器一起使用
在 pthreads
中,需要在每个线程(或工作线程)中注册自动加载。这可以通过在池上设置加载器来实现。
$loader = require 'vendor/autoload.php'; $pool = new \Camspiers\Pthreads\Pool(); $pool->setLoader($loader); // Use the pool