start_t = time.time()
pool = multiprocessing.Pool(arg.n_cores)
pool.starmap(gendata, func_args)
pool.join()
pool.close()
源代码如上,会产生如下报错:
原因要先关闭进程池,防止将任何其他任务提交到池中,需要在join之前调用,否则就会产生Pool is still running的错误。
解决方法交换上述pool.join()与pool.close()两行代码的顺序即可。