abc

博客园 首页 新随笔 联系 订阅 管理
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 on 2013-07-23 17:18  &大王叫我来巡山&  阅读(168)  评论(0)    收藏  举报