抛出异常后,任务是否继续运行?

时间:2015-01-05 00:41:36

标签: c# multithreading concurrency thread-safety

一个简单的问题:

在任何线程(无论是UI线程还是后台线程)中运行多个线程/任务(C#),其他线程是否继续运行,或者它们是否都立即停止(尽快读取:异常被抛出?

1 个答案:

答案 0 :(得分:2)

假设有一个前台线程在运行,比如UI线程。并且有多个后台线程在运行。如果前台线程中存在异常并且其执行停止,则该进程将停止,并且所有后台线程将停止而不管其状态如何。 但是如果在后台线程中抛出异常,它将不会传播到主线程,并且主线程不会被执行停止。所以你的问题的答案在于哪个线程抛出异常。