ThreadState property : Thread State : Thread C# Examples


C# Examples » Thread » Thread State »

 

ThreadState property









    
using  System;
using  System.Threading;

class  MainClass
{
    public  static  void  Countdown()  
    {
        for  (int  i  =  10;  i  >  0;  i--)    {
            Console.Write(i.ToString()  +  "  ");
        }
    }

    public  static  void  DumpThreadState  (Thread  t  )  
    {
        Console.Write("Current  state:  ");
        if  ((t.ThreadState  &  ThreadState.Aborted)  ==  ThreadState.Aborted)
            Console.Write("Aborted  ");
        if  ((t.ThreadState  &  ThreadState.AbortRequested)  ==  ThreadState.AbortRequested)
            Console.Write("AbortRequested  ");
        if  ((t.ThreadState  &  ThreadState.Background)  ==  ThreadState.Background)
            Console.Write("Background  ");
        if  ((t.ThreadState  &  (ThreadState.Stopped  |  ThreadState.Unstarted  |  ThreadState.Aborted))  ==  0)
            Console.Write("Running  ");
        if  ((t.ThreadState  &  ThreadState.Stopped)  ==  ThreadState.Stopped)
            Console.Write("Stopped  ");
        if  ((t.ThreadState  &  ThreadState.StopRequested)  ==  ThreadState.StopRequested)
            Console.Write("StopRequested  ");
        if  ((t.ThreadState  &  ThreadState.Suspended)  ==  ThreadState.Suspended)
            Console.Write("Suspended  ");
        if  ((t.ThreadState  &  ThreadState.SuspendRequested)  ==  ThreadState.SuspendRequested)
            Console.Write("SuspendRequested  ");
        if  ((t.ThreadState  &  ThreadState.Unstarted)  ==  ThreadState.Unstarted)
            Console.Write("Unstarted  ");
        if  ((t.ThreadState  &  ThreadState.WaitSleepJoin)  ==  ThreadState.WaitSleepJoin)
            Console.Write("WaitSleepJoin  ");
    }

    public  static  void  Main()  
    {
        Thread  t2  =  new  Thread(new  ThreadStart(Countdown));
        DumpThreadState(t2);

        t2.Start();
        DumpThreadState(t2);

        Countdown();

        t2.Abort();
        DumpThreadState(t2);
    }
}
    
   
  
   



Output

Current state: Unstarted 10 9 8 7 6 5 4 3 2 1 Current state: Stopped 10 9 8 7 6 5 4 3 2 1 Current st
ate: Stopped


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Thread
» Thread State