join方法:主进程等待子进程结束
并行等待:
from multiprocessing import Process import time,os def task(name): print("%s is running" % name) time.sleep(3) if __name__=="__main__": p1=Process(target=task,args=("子进程1",))#按位置参数传参 p2=Process(target=task,args=("子进程2",))#按位置参数传参 p3=Process(target=task,args=("子进程3",))#按位置参数传参 p1.start() p2.start() p3.start() #join方法让主进程等待子进程结束,join方法并行等待 p1.join() p2.join() p3.join() print("主进程",os.getppid())
串行等待:
from multiprocessing import Process import time,os def task(name,n): print("%s is running" % name) time.sleep(n) if __name__=="__main__": print(time.time()) p1=Process(target=task,args=("子进程1",10))#按位置参数传参 p2=Process(target=task,args=("子进程2",5))#按位置参数传参 p3=Process(target=task,args=("子进程3",4))#按位置参数传参 #主进程串行等待子进程结束 p1.start() p1.join() p2.start() p2.join() p3.start() p3.join() print("主进程",time.time())
进程的其他方法
p.is_alive()#判断子进程是否存活 p.terminate()#终止进程 p.name()#查看进程名字 p.pid()#查看进程pid