Последовательность выходов с использованием пула starmap для параллельных потоков - PullRequest
0 голосов
/ 23 сентября 2019

Я использую pool.starmap для параллельного запуска моей функции следующим образом.

def func_parallel(arg_1):

  ## Compute two ouputs and return those two outputs
  ## output_1=function_1(arg1)
  ## output_2=function_2(arg1)
return output_1, output_2




file_name_1_list=[file_1, file_2]

pool = mp.Pool(2)

result_1, result_2= pool.starmap(func_parallel, [(file) for file in file_name_1_list])
pool.close()

Что я хочу с приведенным выше кодом:

Как у меня естьдва файла в file_name_1_list=[file_1, file_2], и для каждого файла я должен получить два вывода.

Я хочу, чтобы output_1 входил в result_1, а output_2 входил в result_2 для каждого изфайлы, переданные в качестве аргумента моей параллельной функции через starmap

result_1 и result_2 являются списками.

Как изменить приведенный выше код для достижения желаемых результатов (output_1 должен идти в result_1, а output_2 должен идти в result_2 для каждого из файлов, заданных в качестве аргумента моей параллельной функции через starmap)

...