在进程中: join 方法 是让主进程等待子进程运行完毕后再执行主进程的.(即主进程阻塞)
示例
- # -*- coding: utf-8 -*-
- from multiprocessing import Process
- import time
- class MyProcess(Process):
- def __init__(self, name, n):
- super().__init__()
- self.name = name
- self.n = n
- def run(self):
- print('进程 %s is running,%s' % (self.n, self.name))
- time.sleep(self.n)
- print('进程 %s is done %s' % (self.n, self.name))
- if __name__ == '__main__':
- p_ls = []
- start_time = time.time()
- for i in range(1,5):
- p = MyProcess('qzk', i)
- p_ls.append(p)
- p.start()
- for p in p_ls:
- p.join()
- print('主进程执行', time.time() - start_time)
- # 进程 1 is running,qzk
- # 进程 4 is running,qzk
- # 进程 2 is running,qzk
- # 进程 3 is running,qzk
- # 进程 1 is done qzk
- # 进程 2 is done qzk
- # 进程 3 is done qzk
- # 进程 4 is done qzk
- # 主进程执行 4.15123724937439
来源: http://www.bubuko.com/infodetail-3049004.html