首页 > 代码库 > 在C#中如何判断线程当前所处的状态

在C#中如何判断线程当前所处的状态

在C#中如何判断线程当前所处的状态
                                        老帅
   在C#中,线程对象Thread使用ThreadState属性指示线程状态,它
是带Flags特性的枚举类型对象,因此判断线程当前的状态必须用bitmask按位运算来达到判断目的,不能直接使用相等来判断。

   定义ThreadState如下:  
  
   
   1.判断线程是否处于取消状态
   A.错误的判断
    (MyThread.ThreadState == ThreadState.AbortRequested)   
   B.正确的判断
    (MyThread.ThreadState & ThreadState.AbortRequested) != 0

   2.判断线程是否处于运行状态   
   这个有一点特殊,因为ThreadState.Running本身等于0,不能用&运算,所以判断可用以下方法:
   (MyThread.ThreadState == ThreadState.Running)

在C#中如何判断线程当前所处的状态