Какая ошибка допущена в следующем примере?import - Ответ на вопрос по Прог №1305141
-42%
Вопрос
Какая ошибка допущена в следующем примере?import threadingglobal to_evalcond = threading.Condition()def evaluate_something(x): return 2**int(x)def evaluator(name): global to_eval while True: cond.acquire() while not to_eval: cond.wait() v = to_eval.pop() cond.release() print name, ":", evaluate_something(v)to_eval = []for n in range(3): ev = threading.Thread(target=evaluator, args=(str(n),)) ev.setDaemon(1) ev.start()while 1: inp = raw_input('Вводите: ') to_eval.append(inp) cond.notifyAll()- cond.acquire() должен стоять перед to_eval.pop()
- в цикле while 1 требуются cond.acquire() и cond.release()
- не обрабатываются исключения в потоках
- ошибок нет
Ответ
Этот вопрос в коллекциях
-20%
Коллекция: Язык программирования Python
490 390 руб.

🎓 Поможем сдать всё — тесты, практику, экзамены, курсовые, дипломы, отчёты! Закроем долги под ключ 🔑 Ведём от первой сессии до диплома 🏆 Работаем с Синергией, МЭИ и другими вузами 🤝 Гарантия результата или возврат денег 💰 Пиши! 🚀


















