Advertisement

C++自定义线程池

阅读量:
复制代码
    #ifndef THREADPOOL_H
    #define THREADPOOL_H
    
    #include <mutex>
    #include <condition_variable>
    #include <queue>
    #include <thread>
    #include <functional>
    class ThreadPool {
    public:
    //explicit声明显示类构造函数
    //make_shared 创建Pool以及其的智能指针
    explicit ThreadPool(size_t threadCount = 8): pool_(std::make_shared<Pool>()) {
    
            assert(threadCount > 0);//断言一下threadCount参数>0,否则直接返回异常
            for(size_t i = 0; i < threadCount; i++) {
                std::thread([pool = pool_] {
                    std::unique_lock<std::mutex> locker(pool->mtx);//un

全部评论 (0)

还没有任何评论哟~