C# | How to check current state of a thread
A Thread class is responsible for creating and managing a thread in multi-thread programming. It provides a property known as ThreadState to check the current state of the thread. The initial state of a thread is Unstarted state.
Syntax:
public ThreadState ThreadState{ get; }
Return Value: This property returns the value that indicates the state of the current thread.
Below programs illustrate the use of ThreadState property:
Example 1:
// C# program to illustrate the // use of ThreadState property using System; using System.Threading; public class GFG { // Main Method static public void Main() { Thread thr; // Get the reference of main Thread // Using CurrentThread property thr = Thread.CurrentThread; // Display the current state // of the main thread Console.WriteLine( "The name of the current state of the Main " + "thread is: {0}" , thr.ThreadState); } } |
Output:
The name of the current state of the main thread is: Running
Example 2:
// C# program to illustrate the // use of ThreadState property using System; using System.Threading; public class GFG { // Main method public static void Main() { // Creating and initializing threads Thread TR1 = new Thread( new ThreadStart(job)); Thread TR2 = new Thread( new ThreadStart(job)); Console.WriteLine( "ThreadState of TR1 thread" + " is: {0}" , TR1.ThreadState); Console.WriteLine( "ThreadState of TR2 thread" + " is: {0}" , TR2.ThreadState); // Running state TR1.Start(); Console.WriteLine( "ThreadState of TR1 thread " + "is: {0}" , TR1.ThreadState); TR2.Start(); Console.WriteLine( "ThreadState of TR2 thread" + " is: {0}" , TR2.ThreadState); } // Static method public static void job() { Thread.Sleep(2000); } } |
Output:
ThreadState of TR1 thread is: Unstarted ThreadState of TR2 thread is: Unstarted ThreadState of TR1 thread is: Running ThreadState of TR2 thread is: WaitSleepJoin
Reference:
Please Login to comment...