多线程,主线程怎么等待所有的线程结束。。。

enevil 2010-10-22 06:58:09
多线程,主线程怎么等待所有的线程结束。。。
WaitForMultipleObject 只能等待64个。。
如果等待更多呢。。
求一个好的 安全的方法。
...全文
597 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohuh421 2010-10-23
  • 打赏
  • 举报
回复
如果MSDN上的你都感觉不好,那只有自己搞个线程完成标记,或者事件,信号量之类的来判断了.
enevil 2010-10-23
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 libinfei8848 的回复:]
msdn推荐的方法你当然要试试
[/Quote]
感觉这个方法 不大好用。。
永远的明日 2010-10-23
  • 打赏
  • 举报
回复
HANDLE threads[group][MAXIMUM_WAIT_OBJECTS]

for(int i = 0; i < group; i++)
{
WaitForMultipleObject(threads[i]);
}
呵呵~乱写~
enevil 2010-10-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 xiaohuh421 的回复:]
如果MSDN上的你都感觉不好,那只有自己搞个线程完成标记,或者事件,信号量之类的来判断了.
[/Quote]

给点代码来 看下。。。。。。你说的不太细。。
libinfei8848 2010-10-22
  • 打赏
  • 举报
回复
msdn推荐的方法你当然要试试
enevil 2010-10-22
  • 打赏
  • 举报
回复
求高人指导下。。真的 。。这个东西。。弄得我很混乱
enevil 2010-10-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 candpointer 的回复:]
按照MSDN,最差的方法,能轻松达到等待这么多的线程MAXIMUM_WAIT_OBJECTS * MAXIMUM_WAIT_OBJECTS

主线程,等待MAXIMUM_WAIT_OBJECTS个子线程。
每个子线程,再等待MAXIMUM_WAIT_OBJECTS个真实的工作线程。
[/Quote]

汗 一个 在线程中在等待线程。。这个效率 会不会 。不大高呢。。
cheng_fengming 2010-10-22
  • 打赏
  • 举报
回复
没有考虑过,呵呵,学习了。
CandPointer 2010-10-22
  • 打赏
  • 举报
回复
按照MSDN,最差的方法,能轻松达到等待这么多的线程MAXIMUM_WAIT_OBJECTS * MAXIMUM_WAIT_OBJECTS

主线程,等待MAXIMUM_WAIT_OBJECTS个子线程。
每个子线程,再等待MAXIMUM_WAIT_OBJECTS个真实的工作线程。

CandPointer 2010-10-22
  • 打赏
  • 举报
回复
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/dllproc/base/waitformultipleobjects.htm


To wait on more than MAXIMUM_WAIT_OBJECTS handles, use one of the following methods:


Create a thread to wait on MAXIMUM_WAIT_OBJECTS handles, then wait on that thread plus the other handles. Use this technique to break the handles into groups of MAXIMUM_WAIT_OBJECTS.
Call RegisterWaitForSingleObject to wait on each handle. A wait thread from the thread pool waits on MAXIMUM_WAIT_OBJECTS registered objects and assigns a worker thread after the object is signaled or the time-out interval expires.
bullbat 2010-10-22
  • 打赏
  • 举报
回复
自己写个PV方案不就行了
enevil 2010-10-22
  • 打赏
  • 举报
回复
楼上的 。。问了 肯定就有用处。。
就算用不上。。。。我学习下总行吧。。
jihen 2010-10-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 enevil 的回复:]
多线程,主线程怎么等待所有的线程结束。。。
WaitForMultipleObject 只能等待64个。。
如果等待更多呢。。
求一个好的 安全的方法。
[/Quote]
汗。。。你能用到那么多线程吗?大哥。。。
sfd1234 2010-10-22
  • 打赏
  • 举报
回复
我也想知道,借楼主的地方学习!

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧