#pragma once #include #include #include #include #include #include #include #include #include #include #include class ThreadPool { private: std::string name_; std::vectorthreads_; //线程s std::queue>taskQueue_; //任务队列 std::mutex mutex_; //锁 std::condition_variable cv_; //条件变量 std::atomic stop_; std::mutex mmutex_; public: ThreadPool(int _num,std::string _name); ~ThreadPool(); void AddTask(std::function); void Stop(); size_t size(); };