IT Academy
Урок 3 · Продвинутый

Синхронизация, deadlock и lock-free идеи

Объяснение → самостоятельное решение → разбор → практика курса

Объяснение

Deadlock возникает при циклическом ожидании ресурсов. Единый порядок захвата блокировок устраняет цикл. Lock-free не означает отсутствия ожидания у каждого отдельного потока и не отменяет модель памяти.

Задача для самостоятельного решения

Поток 1 захватил A и ждёт B; поток 2 захватил B и ждёт A. Исправьте протокол.

Показать разбор ответа

Оба потока должны захватывать сначала A, затем B. Если ресурс уже занят, второй поток ждёт, не удерживая B, поэтому замкнутого цикла не возникает.

Примените знания

В лабораторной курса есть учебная среда, пример, ожидаемый результат и задание проекта. Возвращайтесь к ней по мере прохождения тем.

Открыть лабораторную →