我在使用 while(true) 循环的应用程序中使用多个线程,现在我想在所有事件线程完成其工作时退出循环。
最佳答案
假设您有线程本身的列表,这里有两种方法。
解决方案一:
使用Thread.Join()使用时间跨度参数依次与每个线程同步。返回值告诉您线程是否已完成。
方案二:
检查 Thread.IsAlive()查看线程是否仍在运行。
在任何一种情况下,请确保您的主线程将处理器时间让给正在运行的线程,否则您的等待循环将消耗大部分/所有 CPU 并使您的工作线程挨饿。
关于c# - 如何判断子线程是否完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2399536/