1. 程式人生 > >python中主執行緒等待子執行緒完成的實現(join())

python中主執行緒等待子執行緒完成的實現(join())

有時候遇到多程程處理的場景,主執行緒要等待子執行緒完成資料解析,然後主執行緒才利用子執行緒的資料做下一步操作,那麼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()