В транзакционных СУБД, например — в Oracle, существует такое явление, как «deadlock»: когда два одновременно выполняющихся запроса хотят получить эксклюзивный доступ к двум одним и тем же ресурсам (например — строкам в таблице), но, по логике их выполнения, первый ресурс оказывается изначально захвачен одним процессом, а второй — другим.
Когда каждый из этих процессов доходит до затребования второго ресурса, оказывается, что ресурс уже занят и нужно подождать, пока он освободится. Но, поскольку оба процесса ждут друг дружку, этого никогда не произойдет. Обработка данных останавливается.
Обнаружил такое же в жизни:
Утро… есть полезные дела которые надо сделать, но совсем не хочется (скучно). И есть полезные дела, которые хочется (интересно) сделать, но моральный долг не дает делать их перед скучными.
Задумался, посмеялся, написал эту заметку и пошел заниматься домашним хозяйством…