Объект 'ThreadPoolExecutor' не имеет атрибута 'product' - PullRequest
0 голосов
/ 27 октября 2019

Я хотел бы использовать ThreadPoolExecutor или ProcessPoolExecutor, чтобы мой код работал быстрее (я использую Windows). У меня есть цикл for с 4 переменными, и я хотел бы запустить их в одном диапазоне со всеми возможными комбинациями, поэтому я использую 'product' from 'itertools:

from itertools import product        #Multiple loops

p=range(1,200,10)
No=4

for op0,op1,op2,op3 in product(p, repeat=No):
    op=[op0,op1,op2,op3] 
    o=np.empty(No)
    for i in range(0,No):
        o[i]=0.1*op[i]

Тогда я бы хотелсделать что-то, как показано ниже, чтобы мой код работал в многопоточности:

from itertools import product        #Multiple loops
import concurrent.futures            #Multithreading/processing 

p=range(1,200,10)
No=4

with concurrent.futures.ThreadPoolExecutor() as executor:
    for op0,op1,op2,op3 in executor.product(p, repeat=No):
        op=[op0,op1,op2,op3] 
        o=np.empty(No)
        for i in range(0,No):
            o[i]=0.1*op[i]

Я получаю сообщение об ошибке «Объект ThreadPoolExecutor не имеет атрибута« product »», но есть ли способ сделать что-то подобноек этому?

Заранее спасибо :)

...