Код: Выделить всё
process()). Я хочу, чтобы 5 «процессоров» выполнялись параллельно. Я повторно искал как concurrent.futures
Код: Выделить всё
import time
import numpy as np
class Processor :
def __init__(self, name) :
self.name = name
def process(self, arg) :
print(f'{name} : processing {arg}...')
time.sleep(arg)
l_processors = [Processor(f'Processor_{i}') for i in range(5)]
l_arguments = list(range(100))
np.random.shuffle(l_arguments)
# ... what to write beyond this point ?
Заранее спасибо за любой ответ.
PS:
- Мне нужно использовать эти 5 объектов процессора, я не могу использовать уже готовый «ProcessorPool(n_workers=5)»
- Я не хочу заранее назначать каждому рабочему «Процессору» список аргументов. Я не могу знать заранее, сколько времени займет каждый аргумент (с точки зрения времени). Вместо этого, когда рабочий освобождается, он должен просмотреть очередь аргументов и выбрать следующий.
Подробнее здесь: https://stackoverflow.com/questions/785 ... eady-exist