线程内核对象关闭后计数不变?如何有效的关闭有循环操作线程的内核对象

[复制链接]
查看11 | 回复2 | 2021-1-27 06:22:38 | 显示全部楼层 |阅读模式
unsignedint__stdcallmyThreadFun(LPVOIDlpParameter)
{
for(inti=0;i
这段代码在运行后内核对象的计数只会增加,不会减少。但是如果修改成
unsignedint__stdcallmyThreadFun(LPVOIDlpParameter)
{
//for(inti=0;i
就没有问题了。
像这样对于第一种情况,一个有循环操作的线程,如何再完成线程以后有效的关闭内核对象呢?
(不能用WaitForSingleObject等待结束,因为同一时间还需要其他的操作)
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:22:38 | 显示全部楼层
把线程都创建出来,然后WaitForMultipleObjects等待所有线程结束
HANDLEhThreads[5]={NULL};
for(inti=0;i引用4楼yhwz_8888的回复:togoblime:
线程的创建是根据数据来的,所以不能一次性全都创建出来
wltg2001:
可以通过工具查看的

什么工具,我真没用过,说一下吧!
回复

使用道具 举报

千问 | 2021-1-27 06:22:38 | 显示全部楼层
同上,同问
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行