Skip to content

Latest commit

 

History

History

API docs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

C++ 线程池库 API文档

欢迎来到本项目的API文档参考。

主要内容

本目录包含以下主要文档:

  1. thread_pool.md: 详细介绍了 thread_pool 类的 API 及其使用方法,包括线程池的创建、任务提交、线程池状态管理、线程池属性调整及信息获取等功能。

  2. worker_thread.md: 详细描述了 thread_pool::worker_thread 类的内部实现细节,虽然该类不直接对外提供接口,但了解其工作原理有助于深入理解线程池的运作机制。

快速导航

thread_pool

  • 构造函数:如何创建线程池实例,包括初始工作线程数和最大任务数的设置。
  • 任务提交:如何使用模板方法 submit 提交可调用对象(函数、lambda 表达式等)到线程池执行,并获取异步执行结果。
  • 线程池控制
    • 暂停:暂停线程池,阻止新任务的执行并暂停当前运行的任务。
    • 恢复:恢复线程池的运行,继续处理队列中的任务。
    • 等待所有任务完成:阻塞调用者,直到线程池中所有任务执行完毕。
    • 优雅关闭:设置线程池为等待任务完成状态,等待所有已提交任务执行完毕后终止线程池。
    • 立即关闭:立即终止线程池,丢弃任务队列中的未处理任务。
    • 终止:与立即关闭类似,但可能使用不同的内部实现。
  • 线程池属性调整
    • 增加工作线程:动态向线程池添加工作线程。
    • 移除工作线程:从线程池中移除指定数量的工作线程。
    • 设置最大任务数:限制任务队列中允许的最大任务数量。
  • 获取信息
    • 获取工作线程数量:查询当前线程池中活动的工作线程数。
    • 获取任务队列中任务数量:查询等待执行的任务数量。

thread_pool::worker_thread

  • 注意thread_pool::worker_thread 类是线程池内部实现细节,不直接对外提供接口,其成员函数和属性由 thread_pool 类内部调用和管理。

    • 构造函数:初始化工作线程实例,将其与给定的线程池关联,并启动线程执行任务循环。
    • 线程状态管理:包括终止、暂停、恢复等操作的内部实现。
    • 线程行为:描述工作线程的核心逻辑,如任务循环、响应线程池指令等。
    • 私有数据成员:介绍线程池指针、线程状态、线程同步原语及工作线程实例等内部数据结构。

使用指南

  • 依赖:确认您的项目已正确包含本库所需的头文件,并链接必要的库。
  • 编译:按照 C++ 编译规范,确保将线程池库源码编译进您的项目。
  • 集成:在您的代码中引入 thread_utils 命名空间,创建 thread_pool 实例,并按照上述 API 文档说明使用相关功能。

重要提示:在使用本库时,请遵循文档中的错误处理建议,并确保线程安全,尤其是在多线程环境中操作共享数据时。

如需进一步了解或有任何问题,请查阅详细的 API 文档,或参与项目讨论。感谢您对本 C++ 线程池库的关注与使用!