2015-01-05 2 views
0

간단한 질문 :예외가 발생하면 작업을 계속 실행합니까?

다른 스레드가 UI 스레드인지 또는 백그라운드 스레드인지에 관계없이 모든 스레드에서 여러 스레드/작업 (C#)을 실행하면 다른 스레드가 계속 실행되거나 모두 즉시 중지됩니다 (읽기 : 가능한 빨리) 예외가 발생했을 때?

+0

실행을 중지하면 스레드가 종료된다는 의미입니까? 왜 그들은 달리기를 멈출 것이라고 생각합니까? – Rush

+0

내 "stop"의 정의 : 스레드가 종료됩니다 (정상적으로 또는 아닌지). – Shaku

+0

이 검색 결과 - [.net unhandled exception policy] (http://www.bing.com/search?q=.net+unhandled+exception+policy), 특히 http://msdn.microsoft. co.kr/en-us/magazine/cc793966.aspx –

답변

2

전경 스레드가 하나만 있다고 가정하면 UI 스레드를 말합니다. 그리고 여러 개의 백그라운드 스레드가 실행 중입니다. 포어 그라운드 스레드에 예외가 있고 실행이 중지되면 프로세스가 중지되고 모든 백그라운드 스레드가 상태에 관계없이 중지됩니다. 하지만 백그라운드 스레드에서 예외가 발생하면 주 스레드로 전파되지 않으며 주 스레드는 실행되지 않을 것입니다. 질문에 대한 응답은 스레드가 예외를 throw하는 곳입니다.

관련 문제