致电之前:
th.Abort();
我如何等待ThreadState
成为ThreadState.Abort
然后执行某些操作?
有可能吗?
答案 0 :(得分:5)
你可以调用Thread.Join()(MSDN)。像这样:
th.Abort();
th.Join();
对Join()的调用将导致调用线程在继续之前等待该线程终止。
另外,如果你的工作线程与其他任何东西进行交互,你可能不应该调用Thread.Abort()。
答案 1 :(得分:1)
你可以做一个小循环来等待线程中止。
th.Abort();
while (th.ThreadState.HasFlag(ThreadState.Aborted))
Thread.Sleep(0);
// Thread is aborted.