EMZETT.
Увійти

Взаємне блокування (deadlock)

Коротко: Взаємне блокування — застій, за якого два чи більше потоків або процесів чекають на ресурси, що утримує інший, — жоден не може продовжити.

Докладніше: Класично: потік A тримає блокування 1 і чекає блокування 2, потік B тримає блокування 2 і чекає блокування 1. Програма зависає, не падаючи. Взаємні блокування виникають із блокуваннями (м’ютекс), транзакціями баз даних і мережевими протоколами.

Подробиці

import threading, time

Див. також: м’ютекс, стан перегонів, потік, паралелізм