0 Вопрос: Есть ли способ распараллелить этот вид кода и сохранить вывод?

вопрос создан в Thu, May 2, 2019 12:00 AM

Я все еще пытаюсь распараллелить этот вид кода с вводом нескольких переменных в кубе данных функции. Функция это просто do_something, включающая несколько переменных.

def datacube(x,y,z):
    xt = do_something with x,y,z
    return xt

В моей основной программе у меня есть что-то вроде этого:

import multiprocessing as mp
import numpy as np
import data

x = y = 5
z_range = np.arange(3,300,3)

ans = []
for z in z_range:
    result = data.datacube(x, y, z)
    ans.append(result)

Я пробовал что-то подобное, чтобы распараллелить код, но он не работает.

dump = []
data3 = [mp.Process(target=datacube, args=(x,y,z)) for z in z_range]
dump.append(data3)

Есть ли способ распараллелить код цикла for?

    
0
  1. "answer" , я полагаю, является списком. Вы не можете иметь несколько потоков, добавляющих к одному и тому же списку, поэтому я предполагаю, что вы хотите, чтобы каждый поток возвращал свой собственный список и объединял их в конце, или выделял место для всего ответа, а не добавлял каждый в конец, поместите его в массив результатов ... но я новичок в Python.
    2019-05-02 16: 07: 59Z
  2. Я тоже. Я начал около месяца назад.
    2019-05-02 16: 12: 56Z
0 ответов                              0                         
источник размещен Вот