Thread[] threads = new Thread[30];
ManualResetEvent[] events = new ManualResetEvent[10];
for (int i = 0; i < threads.Length; i++)
{
events[i] = new ManualResetEvent(false);
threads[i] = new Thread(worker(events[i])); // call events[i].Set() when the task is done.
threads[i].Start();
}
WaitHandle.WaitAll(events);
或者
for (int i = 0; i < threads.Length; i++)
{
threads[i].Join();
}
本文探讨了如何使用多线程和手动重置事件实现并发任务的高效执行,通过创建线程和设置事件,展示了在复杂任务调度中的应用。详细介绍了线程池的构建与事件机制的集成,提供了实际案例分析。
1243

被折叠的 条评论
为什么被折叠?



