Запуск нескольких процессов одновременно в Python и согласование результатов - PullRequest
1 голос
/ 13 марта 2020

Допустим, у меня есть каталог, в котором есть 20 файлов:

path1 = "/path/to/data"
dir1 = os.listdir(path1)

Эти 20 файлов в основном представляют собой 20 плиток большой сетки. Я загружаю каждый из них по отдельности, запускаю процесс и объединяю их после завершения процесса. Общий процесс выглядит так:

finaldata = []
alldata = []
loopdata = []
for i in dir1:
    loopdata = np.load(i)
    alldata = run_process(loopdata)
    if len(finaldata) == 0:
        finaldata = alldata
    else:
        finaldata = np.concatenate((finaldata,alldata))

Что даст мне то, что я хочу, но это довольно медленно. Однако в python доступны опции многопроцессорной обработки и многопоточности, которые потенциально могут разделить обработку на 20 различных процессов, а затем в конце правильно объединить результаты. Как бы что-то вроде этой работы в Python 3.6 +?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...