我有一个“threader”类,它会抛出执行进程的线程。线程在 threader 类中有一个回调方法,当它们完成时会调用该方法。我的问题是我如何知道线程器抛出的所有线程何时完成?
最佳答案
如果您对已启动的线程数进行计数,您可以简单地在线程启动时增加计数并在线程结束时减少计数。
然后当计数为零时,您就知道所有线程都已完成。
在处理生命周期短的线程时需要小心,以确保允许计数器在递减之前递增。需要使用某种锁定或 Interlocked.Increment
和 Decrement
来修改计数器变量。 Source
关于C#,我怎么知道我的所有线程何时完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6733892/