Start threads : Thread « Thread « Python Tutorial






import threading
from time import sleep, ctime

loops = [4,2]

class ThreadFunc(object):
    def __init__(self, func, args, name=''):
        self.name = name
        self.func = func
        self.args = args

    def __call__(self):
        apply(self.func, self.args)

def loop(nloop, nsec):
    print 'start loop', nloop, 'at:', ctime()
    sleep(nsec)
    print 'loop', nloop, 'done at:', ctime()

print 'starting at:', ctime()
threads = []
nloops = range(len(loops))

for i in nloops: # create all threads
    t = threading.Thread(target=ThreadFunc(loop, (i, loops[i]),loop.__name__))
    threads.append(t)

for i in nloops: # start all threads
    threads[i].start()

for i in nloops: # wait for completion
    threads[i].join()

print 'all DONE at:', ctime()








17.1.Thread
17.1.1.First thread example
17.1.2.Start threads to print time at different intervals
17.1.3.Loops Executed by a Single Thread
17.1.4.Sleep in a thread
17.1.5.Join threads
17.1.6.Start threads