1
4
在.NET3.5sp1或.NET4中 TPL 有两种选择。使用Thread.Join是完全可以接受的,尤其是当线程都是您手动创建的线程时。这是非常容易、可靠和易于实现的。这可能是我的选择。
|
2
1
你看过ThreadPool吗?看起来像这里- ThreadPool tutorial ,avtor按您的要求解决相同的任务。 |
3
1
对我来说,最有效的方法是在启动时将每个线程的ManagedThreadId存储在字典中,然后让每个线程在完成时通过回调方法将其id传递回。回调方法从字典中删除id并检查字典的Count属性;当它为零时,你就完成了。确保在添加和删除字典时锁定字典。 |
4
1
我不确定任何类型的标准线程锁定或同步机制是否真的能与这么多线程一起工作。但是,在这种情况下,一些基本的消息传递可能是解决问题的理想方案。 与使用Thread.Join(它将阻塞(并且可能很难管理这么多线程)不同,您可以尝试再设置一个线程来聚合来自工作线程的完成消息。当聚合器收到所有预期消息时,它将完成。然后,可以在聚合器和主应用程序线程之间使用一个WaitHandle来表示所有工作线程都已完成。
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |