Posts

Showing posts with the label C# Thread Life Cycle

C# Thread Life Cycle

In C#, each thread has a life cycle. The life cycle of a thread is started when instance of  System.Threading.Thread class  is created. When the task execution of the thread is completed, its life cycle is ended. There are following states in the life cycle of a Thread in C#. Unstarted Runnable (Ready to run) Running Not Runnable Dead (Terminated) Unstarted State When the instance of Thread class is created, it is in unstarted state by default. Runnable State When start() method on the thread is called, it is in runnable or ready to run state. Running State Only one thread within a process can be executed at a time. At the time of execution, thread is in running state. Not Runnable State The thread is in not runnable state, if sleep() or wait() method is called on the thread, or input/output operation is blocked. Dead State After completing the task, thread enters into dead or terminated state.