ТУПИКОВАЯ СИТУАЦИЯ
ТУПИКОВАЯ СИТУАЦИЯ, взаимная блокировка, тупик (deadlock). Ситуация, возникающая при параллельной обработке, когда несколько процессов, использующие общие ресурсы, не позволяют друг другу продолжать работу. Например, пусть есть два процесса, А и Б, которым требуются ресурсы X и Y. Пусть процесс А сначала запрашивает ресурс X и захватывает его, а процесс Б параллельно захватывает ресурс Y, который в это время еще свободен. В результате возникает ситуация, когда ни один из двух процессов не может продолжать работу: процесс А ждет, когда процесс Б закончит свою работу и освободит ресурс Y, а процесс Б ждет, когда процесс А закончит свою работу и освободит ресурс X. Т. с. может возникнуть при работе операционной системы, системы управления базой данных и др. Известны различные методы предотвращения Т. с. и выхода из Т. с. Например, если СУБД обнаруживает, что возникла Т. с. при работе двух транзакций из-за взаимной блокировки записей, то СУБД выбирает одну из транзакций и производит ее откат, в результате чего записи освобождаются и вторая транзакция завершает свою работу. После этого СУБД повторно запускает первую транзакцию