python 多线程join()

来源:互联网 发布:阿里云 80端口 编辑:程序博客网 时间:2024/05/18 01:54
#coding=utf-8import threadingfrom time import ctime,sleepdef music(func):    for i in range(5):        print "I was listening to %s. %s" %(func,ctime())        print threading.currentThread()        sleep(2)def move(func):    for i in range(2):        print "I was at the %s! %s" %(func,ctime())        print threading.currentThread()        sleep(50)threads = []t1 = threading.Thread(target=music,args=(u'爱情买卖',))threads.append(t1)t2 = threading.Thread(target=move,args=(u'阿凡达',))threads.append(t2)if __name__ == '__main__':    for t in threads:        t.setDaemon(True)        t.start()    t.join()    print "all over %s" % ctime()我们只对上面的程序加了个join()方法,用于等待线程终止。join()的作用是,在子线程完成运行之前,这个子线程的父线程将一直被阻塞。  注意:  join()方法的位置是在for循环外的,也就是说必须等待for循环里的两个进程都结束后,才去执行主进程。

原创粉丝点击