【发布时间】:2021-02-24 05:41:45
【问题描述】:
我正在尝试在我的程序中使用 ThreadPool,但我有一个问题。
我需要一个外部停止 - 过去,函数回调用于检查外部停止,现在我必须这样做。
在新的 ThreadPool API 中,我可以使用 CloseThreadpoolCleanupGroupMembers() 并等待所有排队的作业,或者取消挂起的作业并等待执行。但是如果我打电话给CloseThreadpoolCleanupGroupMembers() 并等待所有的,我就无法对外部事件做些什么。
在不调用 this 或类似的阻塞函数的情况下等待所有作业的好方法是什么?
我想,我可以用一个工作计数器来做到这一点 - 已完成并排队,但也许还有另一个好的解决方案?
【问题讨论】:
标签: c++ winapi threadpool