# code taken from activestate.com import threading from time import sleep, ctime loops = [4,2,3,2] def calc(nloop, nsec): for i in range(1,10): sleep(nsec) print 'thread',nloop,' ' ,i #print 'starting at:', ctime() threads = [] nloops = range(len(loops)) for i in nloops: t = threading.Thread(target=calc,args=(i, loops[i])) threads.append(t) for i in nloops: threads[i].start() for i in nloops: threads[i].join() print 'all DONE at:', ctime()