sscasc@tumkur running in this statethe thread makes progress and executes the taskwhich has been chosen by task scheduler to run nowthe thread can go to either the dead state or the non-runnablewaiting state non-running/waiting in this statethe thread is paused because it is either waiting for the response of some / request or waiting for the completion of the execution of other thread dead runnable thread enters the terminated state when it completes its task or otherwise terminates there are two different kinds of threadskernel threads user-space threads or user threads kernel threads are part of the operating systemwhile user-space threads are not implemented in the kernelcan be seen as an extension of the function concept of programming language advantages of threadingmultithreading improve the speed of computation on multiprocessor or multi-core systems because each processor or core handles separate thread concurrently multithreading allows program to remain responsive while one thread waits for input and another runs gui at the same time this statement holds true for both multiprocessor or single processor systems all the threads of process have access to its global variables if global variable changes in one threadit is visible to other threads as well thread can also have its own local variables disadvantages of threadingon single processor systemmultithreading wouldn' impact the speed of computation in factthe system' performance may downgrade due to the overhead of managing threads synchronization is required to avoid mutual exclusion while accessing shared resources of the process it directly leads to more memory and cpu utilization sp_python programming