❓ Чем отличаются Lock-Free и Wait-Free алгоритмы
Lock-Free алгоритмы это безмьютексные структуры данных, где хотя бы один поток всегда завершает операцию за конечное число шагов:
• Гарантия: система в целом прогрессирует (нет глобальной блокировки).
• Минус: некоторые потоки могут «застревать» в бесконечных retry-циклах (livelock).
• Плюсы: высокая производительность, проще в реализации.
Wait-Free алгоритмы это строгий подкласс lock-free, где каждый поток завершает операцию за конечное число шагов независимо от других:
• Гарантия: индивидуальный прогресс для всех (полная справедливость, нет голодания ресурсов).
• Минус: сложнее реализовать, ниже производительность из-за оверхеда на координацию.
• Когда использовать: в реал-тайм системах, например, ABA-free структуры.
🐸 Библиотека Go для собеса
Post #1322
1.62K
- 👍 3
- 🥱 1