我正在尝试使用多处理将terminology_list(包含1900万个元素的大列表)的内容写入文件。由于我们不在乎订单,因此我尝试使用apply_async:
from multiprocessing import Pool
def terminology_write(terminology, to_file):
to_file.write(terminology.lower()+'\n')
if __name__=='__main__':
pool = Pool(4)
with open('async_write_file.txt','w') as to_file:
for term in terminology_list:
pool.apply_async(terminology_write, args = (term,to_file,))
pool.close()
pool.join()
可以执行该过程,但async_write_file.txt中没有任何记录。 你知道为什么会这样吗? 非常感谢。