php 线程池创建

减肥是一件大事,先让我吃饱了,再来好好计划计划。

 

PHP线程池编程原理

1、创建线程池

  线程池由两部分组成:线程管理器和工作线程。线程管理器用于管理线程的创建、销毁、统计等工作,而工作线程用于执行具体的任务。当应用程序启动时,线程管理器会创建n个工作线程,并将它们加入到线程池中。

2、任务队列管理

  任务队列用于存储待执行的任务,线程管理器会将任务添加到任务队列中。

3、工作线程处理任务

  工作线程会从任务队列中取出任务,并执行该任务。任务处理完毕后,线程不会销毁,而是继续从队列中取出任务进行处理。

4、线程池销毁

  线程池的销毁分为两种情况:一种是应用程序退出时,线程管理器会销毁所有的工作线程;另一种情况是线程池空闲一段时间后,线程管理器会销毁所有的工作线程。

 

PHP的线程池编程常常使用第三方扩展,如Thread、pthreads等。

 

需要记性继承 pool类,threaded类

 

pool  源码类

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

 

posted @ 2022-07-15 09:09  方达达  阅读(30)  评论(0编辑  收藏  举报