牛牛在线工具

Pool::shutdown()

收录 8868 个 PHP 函数,含用途说明与用法示例。

Pool::shutdown()

停止并销毁一个池对象

函数名称:Pool::shutdown() 适用版本:PHP 7.0.0及以上版本 函数说明:Pool::shutdown() 方法用于停止并销毁一个池对象。当调用此方法时,会等待所有正在执行的任务完成后再停止池,并释放所有资源。 用法示例: <?php class MyWorker extends Threaded { public function run() { // 在此处执行任务的代码 echo "执行任务" . PHP_EOL; } } $pool = new Pool(4, MyWorker::class); for ($i = 0; $i < 10; $i++) { $pool->submit(new MyWorker()); } // 等待所有任务执行完成 $pool->shutdown(); echo "所有任务执行完毕" . PHP_EOL; ?> 在上面的示例中,我们创建了一个名为MyWorker的自定义线程类,该类继承自Threaded。在run()方法中,我们可以编写具体的任务逻辑。然后,我们创建了一个Pool对象,指定了线程池的大小为4,并将MyWorker类作为线程的类名。 接下来,我们使用一个循环提交10个任务到线程池中。最后,我们调用shutdown()方法来停止并销毁线程池。在调用shutdown()方法之后,会等待所有任务执行完成,然后输出"所有任务执行完毕"。 请注意,Pool类和Threaded类是PHP多线程扩展(pthreads扩展)提供的功能,需要在PHP编译时启用--enable-pthreads选项。此外,线程池和多线程在PHP中仍处于实验性阶段,建议在生产环境中谨慎使用。