项目简介
一个 header-only 的 C++17 线程池实现,支持任务优先级、Future/Promise 返回值、以及优雅关闭。
核心设计
ThreadPool pool(std::thread::hardware_concurrency());
// 提交任务,获取 future
auto future = pool.submit([](int x) { return x * x; }, 42);
int result = future.get(); // 1764
实现要点
- 使用
std::condition_variable+std::mutex实现工作队列 - 支持模板化任务(任意可调用对象 + 任意参数)
- RAII 保证线程池析构时等待所有任务完成
- 单元测试覆盖率 > 90%