передать несколько аргументов в потоки Python. - PullRequest
0 голосов
/ 03 ноября 2019

Python версия: Python 2.7 (у меня нет прав на его обновление)

У меня есть следующий код, который мне подходит:

cFiles = 10
list_of_columns = List_Of_files
p = Pool(processes=cFiles)
data = p.map(analyzefiles, [i for i in list_of_columns])
p.close()

Используется multiprocessingmodule.

Когда я пытаюсь применить ту же логику к модулю threading, мне приходится запускать следующую команду for loop, а это не то, что мне нужно:

for i in prodentries:
    newi = "pOfList:::" + i
    t1 = threading.Thread(target=analyzelogs, args=(newi,) )
    t1.start()
    t1.join()

У меня вопрос, как я могу преобразовать выше for loop в более эффективный код? Я бы действительно предпочел использовать модуль threading. Что-то вроде этого:

t1 = threading.ThreadPool(target=analyzefiles, [ "pOfList:::" + i for i in prodentries] )
t1.start()
t1.join()
...