python多进程之join函数
join让主进程等待子进程结束之后,再执行主进程。
举例:
from multiprocessing import Process
import time
def task(name):
print(f"{name} is running")
time.sleep(2)
print(f"{name} is gone")
if __name__ == "__main__":
p = Process(target=task,args=("常辛",)) # 创建一个进程对象
p.start()
# p.join()
print(111)
print("主开始")
111
主开始
常辛 is running
常辛 is gone
from multiprocessing import Process
import time
def task(name):
print(f"{name} is running")
time.sleep(2)
print(f"{name} is gone")
if __name__ == "__main__":
p = Process(target=task,args=("常辛",)) # 创建一个进程对象
p.start()
p.join()
print(111)
print("主开始")
常辛 is running
常辛 is gone
111
主开始
一般而言,主程序中如果单为一句print,则优先执行print语句(如果执行语句够多,则可见子进程执行),给大家举个例子:
from multiprocessing import Process
import time
def task(name):
print(f"{name} is running")
time.sleep(2)
print(f"{name} is gone")
if __name__ == "__main__":
p = Process(target=task,args=("常辛",)