Access Denied
Мастер
(1180),
на голосовании
2 недели назад
Гигачат мне выдал такой вот пример для запуска нескольких процессов:
import multiprocessing as mp
def worker(queue): # Получаем данные из очереди data = queue.get() # Обрабатываем данные result = data ** 2 # Возвращаем результат обратно в очередь queue.put(result)
if __name__ == '__main__': # Создаем очередь для передачи данных между процессами queue = mp.Queue() # Количество процессов num_processes = 4 # Запускаем процессы processes = [] for _ in range(num_processes): p = mp.Process(target=worker, args=(queue,)) processes.append(p) p.start() # Отправляем данные в очередь for i in range(10): queue.put(i)
# Ожидаем завершения всех процессов for p in processes: p.join()
# Выводим результаты обработки results = [] while not queue.empty(): results.append(queue.get()) print("Результаты:", results)
У меня уже есть своя определенная функция, принимающая один аргумент, а также список из элементов, для каждого из которых я хочу запустить как бы "экземпляр" этой функции. Допустим, функция "my_func", а список элементов [1, 2, 3, 4,.....]. Подскажите, что нужно изменить в этом коде для моей задачи? Совсем не понимаю вот этой конструкции с queue
Допустим, функция "my_func", а список элементов [1, 2, 3, 4,.....].
Подскажите, что нужно изменить в этом коде для моей задачи? Совсем не понимаю вот этой конструкции с queue