Главная / Язык программирования Python / Может ли возникнуть 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.re

Может ли возникнуть 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_A.acquire(); res_B.acquire(); res_C.acquire() # ... res_C.release(); res_B.release(); res_A.release() def proc3(): res_A.acquire(); res_B.acquire(); res_C.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();

вопрос

Правильный ответ:

да, обязательно
да, возможно
нет, не возникнет
Сложность вопроса
82
Сложность курса: Язык программирования Python
62
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Большое спасибо за помощь по интуиту.
22 янв 2016
Оставить комментарий
Другие ответы на вопросы из темы интернет-технологии интуит.