Запуск одной и той же функции несколько раз одновременноPython

Программы на Python
Ответить
Anonymous
 Запуск одной и той же функции несколько раз одновременно

Сообщение Anonymous »

Итак, я хочу запустить одну и ту же функцию несколько раз одновременно, получая результат в качестве возврата и сохраняя его в массиве или списке. Это выглядит следующим образом:

Код: Выделить всё

def base_func(matrix,arg1,arg2):
result = []
for row in range(matrix.shape[0]):
#perform necessary operation on row and return a certain value to store it into result
x = func(matrix[row],arg1,arg2)
result.append(x)
return np.array(result)
Я пробовал использовать многопоточность в Python. Моя реализация:

Код: Выделить всё

def base_func(matrix,arg1,arg2):
result = []
threads = []
for row in range(matrix.shape[0]):
t = threading.Thread(target=func,args=(matrix[row],arg1,arg2,))
threads.append(t)
t.start()
for t in threads:
res = t.join()
result.append(res)
return np.array(result)
Похоже, это не работает и просто возвращает None из потоков.

Подробнее здесь: https://stackoverflow.com/questions/653 ... ncurrently
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»