c - 在所有工作项完成后关闭线程池
问题描述
我在这里使用 Windows 线程池 API 。
现在我从我的主线程传递了一条到我的线程池的路径。然后我的主线程等待WaitForThreadpoolWorkCallbacks
在工作项上使用。然后池确实在该目录中的每个单独文件上工作。这很糟糕,因为它基本上是使用一个线程来处理整个目录。
需要发生的是我的主线程循环遍历目录并使用 and 将每个文件放入线程池队列CreateThreadpoolWork
中SubmitThreadpoolWork
。
问题:
如果我让我的主线程将项目(文件路径)放入队列中,我将需要创建另一个队列来跟踪所有PTP_WORK
结构,以便我可以检查它们并等待它们。
除了创建一个链表之外,是否可以只在线程池上等待并以某种方式向我报告没有线程在工作?然后我就知道是时候关闭了。
解决方案
推荐阅读
- ssis - SSIS 连接何时发生?
- c# - 如何在不修改的情况下将功能注入 C# 类
- r - 用数据集列中的字符替换值
- python-3.x - 读取 csv 文件时标记数据时出错
- spring - SpringBoot在app下绑定属性失败
- ios - 在核心数据中创建一个没有单元格的空部分(标题视图)
- blockchain - 有没有办法减少coinpayments api中的资金确认时间?
- sql - 如何过去一个不与表交叉的值是 SAS EG
- java - 哪个 Java 代码生成宽指令
- amazon-web-services - 尝试在 AWS Cognito 中启用 SMS MFA 因素时出错