我正在重温 an old thread of mine. 我想启动一堆线程,每个线程执行相同的任务,并在每次完成时知道main(),如果成功或失败. 提供的解决方案是使用ConcurrentQueue,但其他帖子建议使用BackgroundWo
我想启动一堆线程,每个线程执行相同的任务,并在每次完成时知道main(),如果成功或失败.
提供的解决方案是使用ConcurrentQueue,但其他帖子建议使用BackgroundWorker Class或线程池.
有明确的答案吗?
同样,所有线程执行相同的代码并具有通过/失败结果.我希望运行的线程超过可用的线程,所以只要一个线程完成,我就会尽快启动另一个 – 我希望tehm尽可能地强调远程系统(reather而不是强调我的本地PC有太多的线程,所以我会需要进行实验以确定最佳线程数).
VB .NET的具体答案,但也欢迎一般的线程建议.
BackgroundWorker是一种管理正在运行的线程的简单方法.它允许您轻松地将进度报告回UI.我不认为有确定的答案,但 BackgroundWorker是为此目的而设计的 – 运行后台任务,在UI进行时更新UI.这是 an example of how to is it.