现在,我有一个以下函数test((
def test():
f1(par) # extremely time consuming
f2() # f2 must be executed after f1()
f2(( 必须在 f1(( 之后执行。我想使用多处理来加速 f1((,所以我修改了 test((:
import multiprocessing as mp
from multiprocessing import Pool
def test():
pool = Pool(processes=mp.cpu_count())
res = [pool.apply_async(f1, (p)) for p in list_pars]
#
# ??? pause or what?
#
f2() # f2 must be executed after f1()
f1(( 加速,但 f2(( 在 f1(( 完成之前执行。如何让程序稍等片刻?它应该在完成 f1(( 后开始执行 f2((。我该如何修改代码?
谢谢。
您是否尝试过使用某种线程同步? 这里和这里
我会写pool.join()