Что делает следующая программа?import threading, Queueitem = Queue.Queue()def consumer(nm): while True: print item.get(), nmdef producer(nm): while True: item.put(nm)for n in range(3): threading.Thread(target=consumer, args=("c"+str(n),)).start() threading.Thread(target=producer, args=("p"+str(n),)).start()
(Отметьте один правильный вариант ответа.)
Варианты ответа
программа содержит ошибку в цикле, где запускаются потоки
программа беспрерывно печатает строки вида p0 c0, p1 c1 или p2 c2, где число после p — номер производителя, а число после c — номер потребителя
программа ничего не делает или, в некоторых случаях, успевает напечатать несколько строк вида pN cM, после чего останавливается на попытке прочитать из пустой очереди
программа беспрерывно печатает строки вида pN cM, где N — номер производителя, а M — номер потребителя(Верный ответ)