【问题标题】:Do tasks continue running after an exception is thrown?抛出异常后任务是否继续运行?
【发布时间】:2015-01-05 00:41:36
【问题描述】:

一个简单的问题:

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

【问题讨论】:

标签: c# multithreading concurrency thread-safety


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-05-13
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-07
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多