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();  

    }       

 

你可能感兴趣的:(sleep)