我在WPF应用程序的ThreadPool中运行了几个Threads。我需要监视它们,可能来自另一个Thread,以查明是否所有这些线程都已终止。 我怎样才能实现这一目标。
为简单起见,我的使用场景是:
答案 0 :(得分:1)
将线程池中的所有线程放在一个数组中。如果要等待池线程退出,请使用WaitHandle.WaitAll
等待线程完成。
答案 1 :(得分:0)
手头的问题实际上太局部了。我不得不采用Ad Hoc方法来适应最初的有缺陷的设计。
我的方法是在线程启动时简单地增加一个计数器,并在线程终止时减少计数器的值。为了监视计数器的值,我启动了另一个Thread来监视计数器的值。也许不是一个优雅的方法,但似乎工作正常。