【发布时间】:2010-11-23 06:59:12
【问题描述】:
当通过Thread.Abort() 取消线程时,会在调用Thread.Abort() 的线程内引发ThreadAbortException。这会导致线程立即停止其工作,并且异常会在调用堆栈中冒泡,直到它离开线程的 main 方法。这会导致线程中止。
在调用Thread.ResetAbort() 的线程main 方法中,当线程在catch 块之后由于单步执行其main 方法而自行终止时,对于ThreadAbortException 的ExceptionHandler 有什么好处?
private void ThreadMainMethod( )
{
try
{
while(runningAllowed = true)
{
//Do some work here
}
}
catch ( ThreadAbortException )
{
Thread.ResetAbort( );
}
}
【问题讨论】:
标签: c# .net multithreading