1 类说明
2 成员变量
- mutex_
- notEmpty_
- notFull_
- name_
- threadInitCallback_
- 线程池中所有线程的线程函数,Task类型,也即是function<void ()>
- threads_
- queue_
- maxQueueSize_
- running_
3 成员函数
- 构造函数
- 析构函数
- setMaxQueueSize
- setThreadInitCallback
- start
- 线程池运行函数
- 如果线程数为0,调用threadInitCallback_
- 开始初始化threads_数组:new Thread,指定线程函数为ThreadPool::runInThread
- 调用每个Thread的start函数,使线程跑起来
- stop
- 两个条件变量notifyAll
- 对所有线程join
- name
- queueSize
- run
- 当线程池为空,直接消费当前传入的task
- 否则,还是要放到任务队列去
- isFull
- runInThread
- 这个函数是线程池中所有线程的线程函数:
- 若threadInitCallback_存在,先调用这个函数
- 一直从队列中取任务来消费,当然有一些异常捕获
- take
posted @
2023-05-04 15:07
DavidJIAN
阅读(
6)
评论()
收藏
举报