You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
serhij.zolotukhin edited this page Dec 7, 2025
·
1 revision
Неблокирующая синхронизация
подход в программировании, в котором принят отказ от традиционных примитивов блокировки,
семафоры,
мьютексы
события
Разделение доступа между потоками идёт за счёт
атомарных операций
специальных, разработанных под конкретную задачу, механизмов блокировки.
Три уровня неблокирующей синхронизации
* Без препятствий (англ. obstruction-free)
* Без блокировок (англ. lock-free)
Для алгоритмов без блокировок гарантируется системный прогресс по крайней мере одного потока.
Могут ли потоки блокировать друг друга
(другими словами, можно ли выполнить планирование потоков так,
чтобы они заблокировались на неопределенное время)? — Нет
* Без ожиданий (англ. wait-free)
Алгоритм работает без ожиданий, если каждая операция выполняется за определённое количество шагов, не зависящее от других потоков.