我正在使用Python 2.7和multiprocessing::Pool来并行运行作业。我已经简化了下面的示例,但这就是它的主要内容。
使用
现在我认为我在使用multiprocessing::Pool时做错了什么。请问您有任何建议吗?
使用
apply_async()
函数为我的字典中的每个人创建一个文件。但是当我检查文件是否正确创建时,有时会发现文件未被创建。现在我认为我在使用multiprocessing::Pool时做错了什么。请问您有任何建议吗?
import os
from multiprocessing import Pool
def outputFile(person):
ofh=open(person+'.txt','w')
ofh.write('test\n')
ofh.close()
pool = Pool(processes=4)
for person in person_dict:
pool.apply_async(outputFile,args(person))
pool.close()
pool.join()
for person in person_dict:
print os.path.isfile(person+'.txt')
True
True
False
True