
In this article, we’ll start with a basic example using std::mutex, look at its limitations, and then introduce std::shared_mutex, a reader-writer mutex added in C++17. Even in 2026, with many new concurrency features available, std::shared_mutex is still a valuable and practical tool. Let’s jump in. A Simple Thread-Safe Counter with std::mutex We’ll begin with a small example (a standard “hello world” for this type of mutexes): a counter object that multiple threads can access:
mutex vs atomic<bool>
Сравним разные варианты реализации блокировок с точки зрения накладных расходов. mutex, ptr, atomic в нескольких вариантах. Рассматриваем случай без контеншена.
[Перевод] Атомарные операции против мьютексов в Go: когда скорость становится проблемой
Команда Go for Devs подготовила перевод статьи о том, действительно ли атомарные операции всегда быстрее и лучше мьютексов в конкурентном коде. Автор разбирает реальные сценарии, показывает бенчмарки и объясняет, почему рост производительности часто оборачивается ростом сложности и рисков для корректности.
https://habr.com/ru/articles/986732/
#concurrency #atomic #mutex #rwmutex #performance #goroutines #синхронизация
Под капотом многопоточной синхронизации в Java: как потоки договариваются через Mark Word
Когда вы пишете synchronized(obj), под капотом происходит целая цепочка событий, которую можно отследить до Mark Word — восьмибайтового служебного поля в каждом Java-объекте. В современных реализациях JVM (таких как HotSpot, OpenJ9, GraalVM) используется динамическая, адаптивная система, которая выбирает наиболее эффективную стратегию блокировки в зависимости от реального поведения потоков.
Thay thế Mutex, bạn xứng đáng hơn! Mutex không phù hợp với ứng dụng lớn, cùng tìm hiểu giải pháp. #Mutex #LậpTrình #PhátTriểnngDụng #Programming #SoftwareDevelopment
https://www.reddit.com/r/programming/comments/1oujgqw/ditch_your_mutex_you_deserve_better/
Concurrency на примерах. Собственная реализация Mutex на Go + сравнение с sync.Mutex
Хочу поделиться с вами заметкой о своем опыте написания с нуля примитивов синхронизации на чистом Go, совместимых c реализациями из стандартной библиотеки. Цель заметки - на понятных примерах посмотреть как работает под капотом то чем мы пользуемся регулярно как разработчики, а также разобраться с популярными проблемами возникающими при написании многопоточных программ.