@Jungles
Молодой и зелёный

Объект модуля multiprocessing не итерируемый?

spoiler
import multiprocessing as mp

def washer(dishes, output):
    for dish in dishes:
        print('Washing ' ,dish, 'dish')
        output.put(dish)

def dryer(input):
    while True:
        dish = input.get()
        print('Drying ', dish , 'dish')
        input.task_done()

dish_queue = mp.JoinableQueue()
dryer_proc = mp.Process(target = dryer , args = (dish_queue,))
dryer_proc.daemon = True
dryer_proc.start()
dishes = ['salad' ,'soup', 'bread' ,' entree']
washer(dishes,dish_queue)
dish_queue.join()

Почему если убрать запятую тут args = (dish_queue,)), что покажется верным,вызовется ошибка?
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
(dish_queue,) - это кортеж с одним элементом, а
(dish_queue) - это то же самое, что и dish_queue
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы