所有项目
维护中 2024

C++ 线程池

高性能 header-only C++17 线程池实现

项目简介

一个 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%