Я пытаюсь использовать многопроцессорность для записи содержимого terminology_list (большой список, содержащий 19 миллионов элементов) в файл. Поскольку нас не волнует порядок, я попытался использовать 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.
Вы знаете, почему это случилось?
Большое спасибо.