process对象的其他属性和方法

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

猜你喜欢

转载自www.cnblogs.com/yaya625202/p/9029847.html