Sobes.tech
Junior — Middle

Ce se înțelege prin starea de blocare mutuală în programarea multi-thread?

sobes.tech AI

Răspuns de la AI

Состояние взаимной блокировки (deadlock) в многопоточном программировании возникает, когда два или более потока навсегда блокируют друг друга, ожидая освобождения ресурсов, занятых друг другом.

Пример:

  • Поток A захватывает ресурс 1 и пытается получить ресурс 2.
  • Поток B захватывает ресурс 2 и пытается получить ресурс 1.

Оба потока ждут друг друга и не могут продолжить работу, что приводит к зависанию программы.

Для предотвращения взаимной блокировки используют:

  • Чёткий порядок захвата ресурсов.
  • Таймауты при ожидании блокировок.
  • Использование более высокоуровневых примитивов синхронизации.