Skip to content

non blocking

serhij.zolotukhin edited this page Dec 7, 2025 · 1 revision

Неблокирующая синхронизация

подход в программировании, в котором принят отказ от традиционных примитивов блокировки,
    семафоры,
    мьютексы
    события

Разделение доступа между потоками идёт за счёт
    атомарных операций
    специальных, разработанных под конкретную задачу, механизмов блокировки.

Три уровня неблокирующей синхронизации

* Без препятствий (англ. obstruction-free)
    
* Без блокировок (англ. lock-free)
    Для алгоритмов без блокировок гарантируется системный прогресс по крайней мере одного потока.
    Могут ли потоки блокировать друг друга
    (другими словами, можно ли выполнить планирование потоков так,
    чтобы они заблокировались на неопределенное время)? — Нет
 
* Без ожиданий (англ. wait-free)
    Алгоритм работает без ожиданий, если каждая операция выполняется за определённое количество шагов, не зависящее от других потоков.

My side bar

Clone this wiki locally