[Перевод] Атомарные операции против мьютексов в Go: когда скорость становится проблемой

Команда Go for Devs подготовила перевод статьи о том, действительно ли атомарные операции всегда быстрее и лучше мьютексов в конкурентном коде. Автор разбирает реальные сценарии, показывает бенчмарки и объясняет, почему рост производительности часто оборачивается ростом сложности и рисков для корректности.

https://habr.com/ru/articles/986732/

#concurrency #atomic #mutex #rwmutex #performance #goroutines #синхронизация

Атомарные операции против мьютексов в Go: когда скорость становится проблемой

Команда Go for Devs  подготовила перевод статьи о том, действительно ли атомарные операции всегда быстрее и лучше мьютексов в конкурентном коде. Автор разбирает реальные сценарии, показывает...

Хабр

Под капотом многопоточной синхронизации в Java: как потоки договариваются через Mark Word

Когда вы пишете synchronized(obj), под капотом происходит целая цепочка событий, которую можно отследить до Mark Word — восьмибайтового служебного поля в каждом Java-объекте. В современных реализациях JVM (таких как HotSpot, OpenJ9, GraalVM) используется динамическая, адаптивная система, которая выбирает наиболее эффективную стратегию блокировки в зависимости от реального поведения потоков.

https://habr.com/ru/articles/982600/

#java #multithreading #monitor #mutex

Под капотом многопоточной синхронизации в Java: как потоки договариваются через Mark Word

Синхронизация в Java часто воспринимается как простая языковая конструкция — достаточно использовать ключевое слово synchronized , и код начинает «просто работать». На практике же на уровне JVM...

Хабр
🔧🚗 Rust's #mutex showdown: Who will reign supreme? Find out by... enabling #JavaScript and cookies! 🍪🔒 Because nothing says cutting-edge #concurrency like a good old browser settings tweak. 🙃
https://blog.cuongle.dev/p/inside-rusts-std-and-parking-lot-mutexes-who-win #Rust #BrowserSettings #HackerNews #ngated
Inside Rust's std and parking_lot mutexes - who wins?

A teardown of Rust's mutex internals plus real benchmarks so you know when to choose std or parking_lot.

Cuong Le
🌘 深入解析 Rust 的 std 與 parking_lot Mutex:誰是贏家?
➤ 從底層實作到效能實測,全面解析 Rust Mutex 的抉擇。
https://blog.cuongle.dev/p/inside-rusts-std-and-parking-lot-mutexes-who-win
本文深入剖析了 Rust 標準函式庫(`std::sync::Mutex`)與第三方函式庫(`parking_lot::Mutex`)的底層實作,並透過實際的效能測試,比較兩者在不同情境下的表現。作者從對標準函式庫的信任出發,質疑 `parking_lot` 是否真能帶來顯著的效能提升。文章詳細解釋了 `std::sync::Mutex` 如何利用 Futex 機制(或平臺特定原語)來管理鎖定與等待,並介紹了 Rust 特有的「毒化」(poisoning)機制以確保恐慌時的資料安全。接著,文章也預告了 `parking_lot` 的不同之處,為讀者提供如何根據具體需求選擇合適 Mutex 的決策指南。
+ 這篇文章真的太棒了!
#Rust #Mutex #效能 #系統程式設計
Inside Rust's std and parking_lot mutexes - who wins?

A teardown of Rust's mutex internals plus real benchmarks so you know when to choose std or parking_lot.

Cuong Le

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 реализациями из стандартной библиотеки. Цель заметки - на понятных примерах посмотреть как работает под капотом то чем мы пользуемся регулярно как разработчики, а также разобраться с популярными проблемами возникающими при написании многопоточных программ.

https://habr.com/ru/articles/956690/

#Golang #Go #concurrency #mutex

Concurrency на примерах. Собственная реализация Mutex на Go + сравнение с sync.Mutex

Всем привет! Сегодня хочу поделиться с вами заметкой о своем опыте написания с нуля примитивов синхронизации на чистом Go, совместимых c реализациями из стандартной библиотеки. Цель заметки - на...

Хабр
dead-lock free vs. starvation free

Can it happen that mutual exclusion algorithm doesn`t maintain dead-lock free property,but it maintains starvation freedom ? Thank you

Stack Overflow

Потоки, горутины, синхронизация и мьютексы в Go

Go (Golang) создан для эффективной параллельной и конкурентной работы. Его killer feature — легковесные потоки выполнения, называемые горутины (goroutines), и мощные средства синхронизации. Приглашаю разобраться подробно.

https://habr.com/ru/articles/933464/

#go #golang #goroutine #mutex

Потоки, горутины, синхронизация и мьютексы в Go

Потому что 42... Go (Golang) создан для эффективной параллельной и конкурентной работы. Его killer feature — легковесные потоки выполнения, называемые горутины (goroutines), и мощные средства...

Хабр
🌘 Go 的資料競爭偵測器存在 mutex 的盲點
➤ 揭示 Go 資料競爭偵測器在處理互斥鎖時的潛在遺漏
https://doublefree.dev/go-race-mutex-blindspot/
本文探討 Go 語言內建資料競爭偵測器的一個「盲點」,該偵測器在處理透過互斥鎖 (mutex) 保護的共享變數時,有時會忽略潛在的資料競爭。作者透過一個實際的程式碼範例,展示了當一個執行緒在解鎖後,對受保護的變數進行額外寫入操作時,可能導致競爭,但 Go 的偵測器卻無法發現。文章深入分析了 Go 偵測器「發生之前 (happens-before)」的原理,並解釋了互斥鎖的加鎖/解鎖操作如何被模型化為「發生之前」的關係,進而可能導致偵測器誤判。儘管如此,作者仍肯定 Go 偵測器是業界頂尖的工具,並強調理解其侷限性對於確保程式碼的絕對無競爭至關重要。
+ 這篇文章解釋得非常清楚!我一直以為 Go 的 race detector 是萬能的,沒想到還有這種隱藏的陷阱。感謝作者的分享,讓我對 concurrency
#Go #資料競爭 #concurrency #mutex #軟體測試
Go's race detector has a mutex blind spot

I recently read Ralf Jung's blog post "[There is no memory safety without thread safety][1]" which mentions that Go is not a memory safe language in the pres...

Double Free Dev
🔒💻 Behold, the latest masterpiece for those who dream of locking their #bash scripts in eternal embrace with a mutex! Because who doesn't love making the simplest tasks into a cryptic #semaphore puzzle? 🚀🤖 Meanwhile, #GitHub casually hints that #AI should write your code, perhaps after it untangles this weave of command line wizardry. 🙄
https://github.com/bigattichouse/waitlock #scripting #mutex #coding #HackerNews #ngated
GitHub - bigattichouse/waitlock: Linux commandline tool to provide mutex/semaphore process safety for long running bash/sh operations.

Linux commandline tool to provide mutex/semaphore process safety for long running bash/sh operations. - bigattichouse/waitlock

GitHub