您的位置:首页 > 编程语言 > Python开发

python中主线程等待子线程完成的实现(join())

2016-03-21 20:21 676 查看
有时候遇到多程程处理的场景,主线程要等待子线程完成数据解析,然后主线程才利用子线程的数据做下一步操作,那么python的实现方式是在主线程中调用子线程的join方法,这样主线程在子线程完成之前就会一直堵塞了。

import thread
import threading
import time

########################################################################
class MyThread(threading.Thread):
""""""

#----------------------------------------------------------------------
def __init__(self,name):
"""Constructor"""
threading.Thread.__init__(self)
self.name = name

def run(self):
time.sleep(2)
print self.name,'down!'

if __name__ == '__main__':
t = MyThread('thread00')
t2 = MyThread('thread01')
t.start()
t2.start()
t.join()
t2.join()
print 'succeed!'


只需要在主线程调用子线程的join()方法即可,那么如果线程很多很多,只需要把子线程append到一个列表中,然后迭代出来调用join()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: