Главная /
Язык программирования Python /
Какие ошибки допущены в следующем примере? import threading, Queue item = Queue.Queue() def consumer(nm): for i in range(3): print item.get(), nm def producer(nm): for i in range(4): item.put(nm) for n in range(4): threading.Thread(target=consumer, args=(
Какие ошибки допущены в следующем примере?
import threading, Queue
item = Queue.Queue()
def consumer(nm):
for i in range(3):
print item.get(), nm
def producer(nm):
for i in range(4):
item.put(nm)
for n in range(4):
threading.Thread(target=consumer, args=("c"+str(n),)).start()
for n in range(3):
threading.Thread(target=producer, args=("p"+str(n),)).start()
вопрос
Правильный ответ:
потоки-потребители очереди запущены раньше потоков-производителей
объекту, соответствующему потоку, нужно давать отдельное имя
программа зависнет, так как производителей меньше, чем потребителей
ошибок нет
Сложность вопроса
71
Сложность курса: Язык программирования Python
62
Оценить вопрос
Комментарии:
Аноним
Экзамен прошёл на 5. Спасибо vtone
16 мар 2020
Аноним
Пишет вам сотрудник деканата! Незамедлительно сотрите этот ваш сайт с ответами по интуит. Я буду жаловаться!
17 апр 2017
Другие ответы на вопросы из темы интернет-технологии интуит.
- # Может ли возникнуть deadlock в следующей программе: import threading res_A = threading.Lock() res_B = threading.Lock() res_C = threading.Lock() def proc1(): res_A.acquire(); res_B.acquire(); res_C.acquire() # ... res_B.release(); res_C.release(); res_A.release() def proc2(): res_B.acquire(); res_C.acquire(); res_A.acquire() # ... res_C.release(); res_B.release(); res_A.release() def proc3(): res_C.acquire(); res_A.acquire(); res_B.acquire() # ... res_A.release(); res_B.release(); res_C.release() p1 = threading.Thread(target=proc1, name="t1") p2 = threading.Thread(target=proc2, name="t2") p3 = threading.Thread(target=proc3, name="t3") p1.start(); p2.start(); p3.start() p1.join(); p2.join(); p3.join();
- # Какая ошибка допущена в следующем примере? def pr(): import time time.sleep(1) print time.time() t = Timer(30.0, pr)
- # Какие из перечисленных модулей служат для преобразования форматов данных (кодирования/декодирования)?
- # Какая ошибка допущена в следующем коде CGI-сценария? import cgi f = cgi.FieldStorage() if f.has_key("a"): v = str(int(f["a"])) else: v = "0" print " " "Content-Type: text/html\n" " " print v
- # Какие утверждения о следующем фрагменте программы, работающей с POP3-сервером, правильные? import poplib, email p = poplib.POP3('pop3.SERVER') p.getwelcome() p.user('USERNAME') p.pass_('USERPASSWORD') lst = p.list() # # обработка lst # p.quit()