the thread class is_alive(return whether the thread is alive this method returns true just before the run(method starts until just after the run(method terminates the module function threading enumerate(returns list of all alive threads daemon boolean value indicating whether this thread is daemon thread (trueor not (falsethis must be set before start(is calledotherwise runtimeerror is raised its default value is inherited from the creating thread the entire python program exits when no alive non-daemon threads are left an example illustrating using some of these methods is given belowfrom threading import thread def simple_worker()print('hello' thread(target=simple_workert start(print( getname()print( identprint( is_alive()this produceshello thread- true the join(method can cause one thread to wait for another to complete for exampleif we want the main thread to wait until thread completes before it prints the done messagethen we can make it join athatthreadfrom threading import thread from time import sleep def worker()for in range( )print('end=''flush=truesleep( print('starting'create read object with reference to worker function thread(target=workerstart the thread object