|
|
|
|
|
|
|
|
std::atomic<unsigned int> idleThreadSize_; // 记录空闲线程的数量 |
|
|
std::atomic<unsigned int> idleThreadSize_; // 记录空闲线程的数量 |
|
|
unsigned threadSizeThreshold_; // 线程数量上限阈值 |
|
|
unsigned threadSizeThreshold_; // 线程数量上限阈值 |
|
|
|
|
|
|
|
|
// 这里队列里不能存裸指针,避免用户传入一个临时对象,使用智能指针延长外部传进来对象的生命周期 |
|
|
|
|
|
using Task = std::function<void()>; |
|
|
using Task = std::function<void()>; |
|
|
std::queue<Task> taskQue_; // 任务队列 |
|
|
std::queue<Task> taskQue_; // 任务队列 |
|
|
std::atomic<unsigned int> taskSize_; // 任务队列任务数,用原子变量保证原子性 |
|
|
std::atomic<unsigned int> taskSize_; // 任务队列任务数,用原子变量保证原子性 |