Golang: Создание мьютексов с нуля

30 подписчиков

12+
12+

2 просмотра

14 дней назад

ПожаловатьсяНарушение авторских прав

30 подписчиков

12+
12+

2 просмотра

14 дней назад

ПожаловатьсяНарушение авторских прав
12+
12+

2 просмотра

14 дней назад

🔥 https://t.me/+gnsz5b5KRmFjNDFi – огромное количество уроков, библиотек и примеров с кодом в канале для Go разработчиков. 📌 https://t.me/addlist/MUtJEeJSxeY2YTFi – тут я собрал гигантскую папку маст-хэв для Golang программистов. 📌 https://t.me/golang_interview - здесь разобрано 1900 вопросов с собеседований GO 🧠 Как устроены мьютексы “внутри” и как их реализовать в Go В своей свежей заметке автор показывает, как пошагово написать разные реализации мьютексов, начиная с простого спин‑лока и заканчивая более продвинутыми конструкциями с участием атомарных операций и системных вызовов futex на Linux — объясняя, почему простые boolean‑замки работать не будут и как исправлять гонки через атомарность и планирование. 📌 Что полезно понять: • мьютекс — это не просто `Lock/Unlock`, а тонкая синхронизация доступа к разделяемому состоянию • naive‑реализации с булевыми флагами ломаются при высокой конкуренции • spin‑lock на атомарных операциях работает, но может быть неэффективным без сдачи планировщику • futex‑вариант позволяет ядру “усыплять” горутины вместо бесконечного ожидания и существенно снижает накладные расходы : Такая глубина полезна, если вы оптимизируете concurrent‑код Go на уровне runtime или пишете свои примитивы синхронизации, а не просто пользуетесь `sync.Mutex`. Читать и разбирать обязательно тем, кто хочет понимать, как работают блокировки “под капотом”. 🔗 https://rybicki.io/blog/2026/01/01/mutexes-from-scratch-in-go.html https://www.youtube.com/watch?v=Nv0vmR5OqRg&list=PLysMDSbb9HcxpAb8lhnMaRpX890wSLz66&index=1 • Бесплатный курс Golang с нуля.

Название:

Golang: Создание мьютексов с нуля

Категория:

Разное