Uses simple shared global data to know when threads are done in parent/main thread
import thread
def counter(myId, count): for i in range(count): stdoutmutex.acquire() print '[%s] => %s' % (myId, i) stdoutmutex.release() exitmutexes[myId] = 1 # signal main thread
stdoutmutex = thread.allocate_lock() exitmutexes = [] for i in range(10): exitmutexes.append(0) thread.start_new(counter, (i, 100))
while 0 in exitmutexes: pass print 'Main thread exiting.'
Related Scripts with Example Source Code in same category :