Что такое deadlock и что такое race condition?

Deadlock (взаимная блокировка) — ситуация, когда два или более процесса или потока навсегда блокируют друг друга, ожидая освобождения ресурсов, которые заняты друг другом.

Короткий ответ

Что ответить на собеседовании

Deadlock (взаимная блокировка) — ситуация, когда два или более процесса или потока навсегда блокируют друг друга, ожидая освобождения ресурсов, которые заняты друг другом. В результате ни один из них не может продолжить работу.

Подробный разбор

Ответ с пояснениями

Deadlock (взаимная блокировка) — ситуация, когда два или более процесса или потока навсегда блокируют друг друга, ожидая освобождения ресурсов, которые заняты друг другом. В результате ни один из них не может продолжить работу.

Пример: Процесс A держит ресурс 1 и ждёт ресурс 2, который занят процессом B, а процесс B ждёт ресурс 1.

Race condition (состояние гонки) — ситуация, когда результат работы программы зависит от непредсказуемого порядка выполнения параллельных операций. Это приводит к ошибкам, если доступ к общим данным не синхронизирован.

Пример: два потока одновременно читают и изменяют одну переменную без блокировок, что приводит к некорректному значению.

Оба явления связаны с параллелизмом, но deadlock — это блокировка, а race condition — ошибка из-за несогласованного доступа.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее