【发布时间】:2013-08-05 17:04:10
【问题描述】:
我正在中止一个线程(很快就会成为线程),问题是我需要停止直到所有线程都被中止。
在完成Thread.Abort(); 之后,我想到了使用Thread.Join() 等到它完全中止。然而,这不起作用。它只是永远等待。如何中止每个线程并等到它完成后再继续?
附加信息:如果你好奇为什么——在这种情况下我正在关闭一个窗口,我将一个委托函数传递给它在完成(或中止)时调用的线程。如果我不停止,那么窗口将关闭并且该函数将调用无效句柄/objs。我可以轻松地使用相同的方法,插入一个标志并循环和睡眠,直到设置所有标志,但感觉不对。
【问题讨论】:
标签: c# multithreading