Что такое дедлок и как его избежать?
Дедлок — цикл ожидания ресурсов: каждый участник держит ресурс, нужный другому, и ждёт освобождения следующего. В БД система обычно прерывает одну из транзакций, чтобы разорвать цикл.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
Дедлок — цикл ожидания ресурсов: каждый участник держит ресурс, нужный другому, и ждёт освобождения следующего. В БД система обычно прерывает одну из транзакций, чтобы разорвать цикл.
Читать ответСравнение Deadlock и Livelock Область: конкурентность и синхронизация потоков Deadlock: потоки навсегда ожидают ресурсы и остаются заблокированными Livelock: потоки продолжают работу, но бесконечно изменяют состояние…
Читать ответДля поиска дедлоков, или взаимоблокировок, СУБД анализирует граф блокировок: транзакции представлены узлами, а зависимости по ресурсам — связями В PostgreSQL периодически выполняется поиск циклов в wait-for graph…
Читать ответпоследовательная очередь обрабатывается в одном потоке, поэтому порядок операций имеет значение deadlock появляется, когда ресурсы взаимно блокируют друг друга для профилактики сокращают пересечения блокировок и…
Читать ответdeadlock: взаимная блокировка ресурсов livelock: бесконечное изменение состояний без продвижения исключать циклические зависимости между ресурсами задавать единый порядок захвата блокировок (lock ordering)…
Читать ответОсновные проблемы многопоточности в iOS Гонка данных (data race) — несколько потоков одновременно обращаются к общему ресурсу без необходимой синхронизации Взаимоблокировка (deadlock) — потоки удерживают ресурсы и…
Читать ответКонкурентный доступ: возникновение взаимной блокировки Ситуация возникает, когда две или более транзакции ожидают ресурсы друг друга При этом каждая транзакция удерживает ресурс, который требуется другой Если не…
Читать ответЧто означает взаимоблокировка (deadlock) в базах данных? возникает как проблема параллелизма и конкуренции транзакций две или несколько транзакций ждут друг друга каждая удерживает ресурс, необходимый другой…
Читать ответ