join()方法的使用
join()方法的使用
#coding=utf-8
from multiprocessing import Process
import time
def worker(seconds):
print('worker start')
time.sleep(seconds)
print('worker end')
if __name__=='__main__':
print('主进程开始执行')
p=Process(target=worker,args=(4,))
p.start()
#希望如下的主进程执行语句在子进程执行完后之后输出
print('主进程执行完成')
结果:如果不调用p.join()方法:
主进程开始执行
主进程执行完成
worker start
worker end
#coding=utf-8
from multiprocessing import Process
import time
def worker(seconds):
print('worker start')
time.sleep(seconds)
print('worker end')
if __name__=='__main__':
print('主进程开始执行')
p=Process(target=worker,args=(4,))
p.start()
#希望如下的主进程执行语句在子进程执行完后之后输出
#子进程对象调用join()方法,主进程会先等待子进程p先执行完成之后再执行
p.join()
print('主进程执行完成')
结果:
主进程开始执行
worker start
worker end
主进程执行完成
join()方法中加超时的使用
join()方法中加超时的使用
#coding=utf-8
from multiprocessing import Process
import time
def worker(seconds):
print('worker start')
time.sleep(seconds)
print('worker end')
if __name__=='__main__':
print('主进程开始执行')
p=Process(target=worker,args=(5,))
p.start()
#希望如下的主进程执行语句在子进程执行完后之后输出
#子进程对象调用join()方法,主进程会先等待子进程p先执行完成之后再执行
#join(3)方法传入超时参数,如果超时时间子进程还未结束就直接执行主进程
p.join(3)
print('主进程执行完成')
结果:
主进程开始执行
worker start
主进程执行完成
worker end
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。