python多进程加快for循环_python多进程 通过for循环 join 的问题
代碼如下:
importos
frommultiprocessing importProcess
deffunc(num):print('in func',num,os.getpid(),os.getppid())if__name__ =='__main__':print('in main',os.getpid(),os.getppid()) p_l = []fori inrange(10): p =Process(target=func,args=(i,)) p.start()# start不是運(yùn)行一個(gè)程序,而是調(diào)用操作系統(tǒng)的命令,要?jiǎng)?chuàng)建子進(jìn)程,非阻塞 p_l.append(p)print(p_l)forp inp_l : p.join()#阻塞,直到p這個(gè)子進(jìn)程執(zhí)行完畢之后再繼續(xù)執(zhí)行print('主進(jìn)程 的 代碼執(zhí)行結(jié)束了')
執(zhí)行結(jié)果如下:
in main 10388 1160
[, , , , , , , , , ]
in func 1 5836 10388
in func 0 12936 10388
in func 2 12856 10388
in func 4 13448 10388
in func 5 12516 10388
in func 3 5048 10388
in func 6 6664 10388
in func 7 12916 10388
in func 8 12172 10388
in func 9 6824 10388
主進(jìn)程 的 代碼執(zhí)行結(jié)束了
問題:
有沒有可能在 for 循環(huán) join的時(shí)候,比如現(xiàn)在循環(huán)到p3.join了,但是p3已經(jīng)執(zhí)行完畢了,這時(shí)候有沒有可能會(huì)打印最后那句 print("主進(jìn)程 的 代碼之行結(jié)束了")
急急急,這個(gè)問題想了很久,實(shí)在是想不明白了
總結(jié)
以上是生活随笔為你收集整理的python多进程加快for循环_python多进程 通过for循环 join 的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速部署ldap服务
- 下一篇: python小括号表示什么数据类型_Py