C# 线程 在 sleep,suspend 之后 Abort 的方法

1) 线程在sleep时的Abort  
  方法:对线程函数用 catch ThreadAbortException ,并return。
  示例:
[csharp] view plaincopy

    private void xxxThreadFunc()  
    {  
        for (; ; )  
        {  
            try  
            {  
                xxx();  
                Thread.Sleep(500);          
            }  
            catch (ThreadAbortException abortException)  
            {  
                MessageBox.Show("ThreadAbortException :" + abortException.Message.ToString());  
                return;  
            }  
        }              
    }  


2) 线程在suspend时的Abort   
   方法:在对线程需要调用abort的地方  用 catch (ThreadStateException) , 并resume。 // 这有点不可思议, 但确实管用...  
   示例:
[csharp] view plaincopy

    try  
    {  
        xxxThreadFunc.Abort();  
    }  
    catch (ThreadStateException)  
    {  
        xxxThreadFunc.Resume();  
    }       

 

posted @ 2012-06-27 15:10  希格绍尔  阅读(2598)  评论(0编辑  收藏  举报