# -*- encoding: utf-8 -*-
'''
Created on 2016年5月14日

@author: LuoPei
'''
import threading
from time import ctime,sleep

loops = [ 4, 2 ]

class MyThread(threading.Thread):
    def __init__(self,func,args,name=''):
        threading.Thread.__init__(self)
        self.name=name
        self.func=func
        self.args=args
        
    def run(self):
        apply(self.func,self.args)

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


def main():
    print 'starting at:', ctime()
    threads = []
    nloops = range(len(loops))
    for i in nloops:
        t=MyThread(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()    
    
if __name__=="__main__":
    main()