Может ли возникнуть deadlock в следующей программе:import threadingres_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();
(Отметьте один правильный вариант ответа.)
Варианты ответа
да, возможно
нет, не возникнет(Верный ответ)
да, обязательно