代碼如下:import os
from multiprocessing import Processdef func(num):
print('in func',num,os.getpid(),os.getppid())
if __name__ == '__main__':
print('in main',os.getpid(),os.getppid())
p_l = []
for i in range(10):
p = Process(target=func,args=(i,))
p.start() # start不是運行一個程序,而是調(diào)用操作系統(tǒng)的命令,要創(chuàng)建子進程,非阻塞
p_l.append(p)
print(p_l)
for p in p_l :
p.join() # 阻塞,直到p這個子進程執(zhí)行完畢之后再繼續(xù)執(zhí)行
print('主進程 的 代碼執(zhí)行結(jié)束了')執(zhí)行結(jié)果如下:問題:有沒有可能在 for 循環(huán) join的時候,比如現(xiàn)在循環(huán)到p3.join了,但是p3已經(jīng)執(zhí)行完畢了,這時候有沒有可能會打印最后那句 print("主進程 的 代碼之行結(jié)束了")
添加回答
舉報
0/150
提交
取消