Thread Pool in C++
线程池:一组预先创建的线程,有个管理员来调度这些线程,完成交给它的任务
优势:提升任务处理的效率,消除线程创建和销毁的时间,在任务处理时间比较短的时候好处显著
reference1 reference2
python example
1. 主要数据结构
- 线程池管理器ThreadPool:创建线程池,销毁线程池,添加新任务
- 工作线程Worker:线程池中线程,在没有任务时处于等待状态,可以循环的获取并执行任务
- 任务接口Task/Job:规定了任务的入口,任务执行完后的收尾工作,任务的执行状态等
- 任务队列TaskQueue:缓冲,存放待处理任务,存放任务有个数上限
2. Python example