欢迎来到本项目的API文档参考。
本目录包含以下主要文档:
-
thread_pool.md: 详细介绍了
thread_pool
类的 API 及其使用方法,包括线程池的创建、任务提交、线程池状态管理、线程池属性调整及信息获取等功能。 -
worker_thread.md: 详细描述了
thread_pool::worker_thread
类的内部实现细节,虽然该类不直接对外提供接口,但了解其工作原理有助于深入理解线程池的运作机制。
- 构造函数:如何创建线程池实例,包括初始工作线程数和最大任务数的设置。
- 任务提交:如何使用模板方法
submit
提交可调用对象(函数、lambda 表达式等)到线程池执行,并获取异步执行结果。 - 线程池控制:
- 暂停:暂停线程池,阻止新任务的执行并暂停当前运行的任务。
- 恢复:恢复线程池的运行,继续处理队列中的任务。
- 等待所有任务完成:阻塞调用者,直到线程池中所有任务执行完毕。
- 优雅关闭:设置线程池为等待任务完成状态,等待所有已提交任务执行完毕后终止线程池。
- 立即关闭:立即终止线程池,丢弃任务队列中的未处理任务。
- 终止:与立即关闭类似,但可能使用不同的内部实现。
- 线程池属性调整:
- 增加工作线程:动态向线程池添加工作线程。
- 移除工作线程:从线程池中移除指定数量的工作线程。
- 设置最大任务数:限制任务队列中允许的最大任务数量。
- 获取信息:
- 获取工作线程数量:查询当前线程池中活动的工作线程数。
- 获取任务队列中任务数量:查询等待执行的任务数量。
-
注意:
thread_pool::worker_thread
类是线程池内部实现细节,不直接对外提供接口,其成员函数和属性由thread_pool
类内部调用和管理。- 构造函数:初始化工作线程实例,将其与给定的线程池关联,并启动线程执行任务循环。
- 线程状态管理:包括终止、暂停、恢复等操作的内部实现。
- 线程行为:描述工作线程的核心逻辑,如任务循环、响应线程池指令等。
- 私有数据成员:介绍线程池指针、线程状态、线程同步原语及工作线程实例等内部数据结构。
- 依赖:确认您的项目已正确包含本库所需的头文件,并链接必要的库。
- 编译:按照 C++ 编译规范,确保将线程池库源码编译进您的项目。
- 集成:在您的代码中引入
thread_utils
命名空间,创建thread_pool
实例,并按照上述 API 文档说明使用相关功能。
重要提示:在使用本库时,请遵循文档中的错误处理建议,并确保线程安全,尤其是在多线程环境中操作共享数据时。
如需进一步了解或有任何问题,请查阅详细的 API 文档,或参与项目讨论。感谢您对本 C++ 线程池库的关注与使用!