home.social

#mutex — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #mutex, aggregated by home.social.

fetched live
  1. Разбор пяти ошибок в модулях Linux, которые проходят сборку и валят систему под нагрузкой

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

    habr.com/ru/companies/otus/art

    #модули_ядра_Linux #kernel_space #гонка_данных #атомарные_операции #обработчики_прерываний #spinlock #mutex #ioctl #управление_памятью #отладка_ядра

  2. Многопоточность в SCADA системах

    Пишу SCADA-ядро на C++ для инженерных систем: опрос ПЛК, кэширование значений, правила автоматики и управление исполнительными механизмами. На текущем этапе упёрся в практический вопрос многопоточности: как правильно разделять потоки чтения и записи, как сериализовать доступ к одному каналу связи, и насколько оправдано использование std::condition_variable. В статье показываю текущую реализацию потока опроса ПЛК и хочу услышать мнение коллег, которые разрабатывали промышленные SCADA-системы.

    habr.com/ru/articles/1029582/

    #scada #c++ #modbus #thread #mutex #многопоточность #плк #диспетчеризация #автоматизация #асутп

  3. #Rust #Mutex #Deadlocks I didn't know that we know how to solve deadlocks since the seventies! The problem seems to be that there is no convenient interface available in most languages...

    notes.brooklynzelenka.com/Blog

    Tries to give a template how to use mutexes in a way that all deadlocks (with one exception) are detected at runtime.

  4. #Rust #Mutex #Deadlocks I didn't know that we know how to solve deadlocks since the seventies! The problem seems to be that there is no convenient interface available in most languages...

    notes.brooklynzelenka.com/Blog

    Tries to give a template how to use mutexes in a way that all deadlocks (with one exception) are detected at runtime.

  5. 🦀🔒 "Surelock" confidently declares a #mutex revolution for #Rust, as if #deadlocks 💥 are the Loch Ness Monster of coding—mythical and only appearing at 3am. But let's face it, their "solution" is basically just a love letter to Haskell's #TVars, like a high school crush longing for the one that got away. 😆❤️
    notes.brooklynzelenka.com/Blog #Surelock #Haskell #HackerNews #ngated

  6. 🦀🔒 "Surelock" confidently declares a #mutex revolution for #Rust, as if #deadlocks 💥 are the Loch Ness Monster of coding—mythical and only appearing at 3am. But let's face it, their "solution" is basically just a love letter to Haskell's #TVars, like a high school crush longing for the one that got away. 😆❤️
    notes.brooklynzelenka.com/Blog #Surelock #Haskell #HackerNews #ngated

  7. Ah, the riveting saga of std:shared_mutex in C++17—a tale as thrilling as watching paint dry 🖌️! Dive into the labyrinthine world of #mutex #bottlenecks and #cache #concerns, because nothing screams fun like counting operations in a "more realistic" example. 🕸️ For a real adventure, stay tuned for the exhilarating sequel: "Reading Compiler Error Messages for Fun and Profit!" 🤓💥
    cppstories.com/2026/shared_mut #C++17 #std_shared_mutex #programming #humor #HackerNews #ngated

  8. Ah, the riveting saga of std:shared_mutex in C++17—a tale as thrilling as watching paint dry 🖌️! Dive into the labyrinthine world of #mutex #bottlenecks and #cache #concerns, because nothing screams fun like counting operations in a "more realistic" example. 🕸️ For a real adventure, stay tuned for the exhilarating sequel: "Reading Compiler Error Messages for Fun and Profit!" 🤓💥
    cppstories.com/2026/shared_mut #C++17 #std_shared_mutex #programming #humor #HackerNews #ngated

  9. mutex vs atomic<bool>

    Сравним разные варианты реализации блокировок с точки зрения накладных расходов. mutex, ptr, atomic в нескольких вариантах. Рассматриваем случай без контеншена.

    habr.com/ru/articles/1000192/

    #atomic #mutex #futex

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

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

    habr.com/ru/articles/986732/

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

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

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

    habr.com/ru/articles/982600/

    #java #multithreading #monitor #mutex

  12. 🔧🚗 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. 🙃
    blog.cuongle.dev/p/inside-rust #Rust #BrowserSettings #HackerNews #ngated

  13. 🔧🚗 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. 🙃
    blog.cuongle.dev/p/inside-rust #Rust #BrowserSettings #HackerNews #ngated

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

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

    habr.com/ru/articles/956690/

    #Golang #Go #concurrency #mutex

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

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

    habr.com/ru/articles/933464/

    #go #golang #goroutine #mutex

  16. 🔒💻 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. 🙄
    github.com/bigattichouse/waitl #scripting #mutex #coding #HackerNews #ngated

  17. 🔒💻 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. 🙄
    github.com/bigattichouse/waitl #scripting #mutex #coding #HackerNews #ngated

  18. Обработка повторных запусков приложения в Windows

    Один экземпляр — множество вызовов: Как обеспечить работу вашего приложения так, чтобы оно запускалось только один раз, а все последующие вызовы — передавали данные уже работающему экземпляру? Предлагаю рассмотреть решение с использованием Mutex и Named Pipes на примере заглушки, которая должна обрабатывать ссылки протокола ask: для ЛОЦМАН:PLM.

    habr.com/ru/articles/915854/

    #lazarus_ide #free_pascal #mutex #named_pipes

  19. Some brave soul decided to reinvent the wheel by building their own #mutex in C, because, apparently, mastering pre-existing solutions just wasn't challenging (or fun) enough. 🤦‍♂️ Instead of taking a nice walk outside, they've chosen to dance with futexes, as if Linux needed more accidental 'optimizations.' 🧐🔧
    blog.fredrb.com/2025/06/02/fut #reinventthewheel #Cprogramming #futex #Linuxoptimization #codinghumor #HackerNews #ngated

  20. Some brave soul decided to reinvent the wheel by building their own #mutex in C, because, apparently, mastering pre-existing solutions just wasn't challenging (or fun) enough. 🤦‍♂️ Instead of taking a nice walk outside, they've chosen to dance with futexes, as if Linux needed more accidental 'optimizations.' 🧐🔧
    blog.fredrb.com/2025/06/02/fut #reinventthewheel #Cprogramming #futex #Linuxoptimization #codinghumor #HackerNews #ngated

  21. Баг SRWLock в Windows вешает многопоточные программы

    std::shared_mutex — стандартный примитив синхронизации, появившийся в C++17, призванный упростить реализацию паттерна «многие читатели — один писатель». Однако, как показывают некоторые практические кейсы, его реализация на Windows, использующая SRWLock (Slim Reader/Writer Lock), может привести к серьёзным проблемам: в определённых ситуациях многопоточное приложение может зависнуть (дедлок).

    habr.com/ru/articles/865518/

    #windows #c++ #stl #winapi #mutex #deadlock

  22. [Перевод] Решение проблемы race condition в Kotlin корутина

    Синхронизация корутин в Android имеет огромное значение для обеспечения безопасности и эффективности многопоточности. Коррутины упрощают управление асинхронными задачами, но без должной синхронизации могут возникнуть проблемы, такие как race condition, что приведет к неправильному поведению приложения.

    habr.com/ru/articles/853266/

    #coroutine #race_conditions #multithreading #mutex #semaphore

  23. [Перевод] Самые быстрые мьютексы

    Cosmopolitan Libc хорошо известна своим « полиглотным жирным бинарным » хаком, который позволяем исполняемым файлам запускаться на шести операционных системах для AMD64/ARM64. Вас может удивить, что при этом она может быть лучше С‑библиотекой для вашего продакшена. Чтобы продемонстрировать это, давайте сравним библиотеку мьютексов Cosmo с другими платформами. Мы напишем простой тест, который создает 30 потоков, увеличивающих одно и то же число 100 000 раз. Это поможет проверить, насколько хорошо реализация мьютексов справляется с задачей при интенсивном использовании.

    habr.com/ru/companies/beget/ar

    #mutex #futex #c++ #cosmopolitan_libc

  24. Точки соприкосновения: Java & GC

    Можно писать на Java, вообще не задумываясь, как работает сборка мусора: «ну оно же там само собой происходит как-то». Однако разобраться как следует — не только интересно, но и полезно: например, какой из подходов к GC лучше соответствует конкретно вашему проекту? На нашей конференции JPoint 2024 был доклад Дмитрия Силина об этом, участникам он понравился, и мы решили сделать для Хабра текстовую версию. Публикуем и текст, и видеозапись.

    habr.com/ru/companies/jugru/ar

    #jpoint #joker #java #garbage_collector #mutex

  25. @themagpi

    > Raspberry Pi projects?

    Solved a month long mystery!

    How to manage Raspberry Pi I2C device access inside ROS2/Ubuntu/Docker container **AND** outside the container in Raspberry PiOS Bookworm?

    Docker invocation must map both the bus AND the mutex lock folder /var/lock/


  26. @drfootleg Another tip that has been plaguing me for a month!

    If you have processes inside a Docker container and other processes outside the Docker container that need mutex protection such as I2C bus or SPI bus accesses, you need to map the bus (obviously) **and** the mutex folder!

    I had the sensor access working great but could not figure out why my inside and outside "mutex protected" accesses were colliding...

  27. ⬆️ @vidyarthi

    >> Shoe #Semaphore
    > Any source?

    Are you contesting this to claim there was NO protection between the 5 #Brothers simultaneously entering a #criticalSection, or are you claiming the #mutex was of a DIFFERENT form?

  28. Spent a decent portion of the weekend trying to get my head around threading, #Arc and #Mutex in #RustLang. The idea is to provide safe multithreaded access to an SQLite DB and allow for many concurrent reads but only one writer at a time (per SQLite).

    It was pretty interesting to say the least and I ended up with a threadsafe wrapper around diesel.rs that I’m fairly happy with!

    Now... to try hooking it into something useful.