home.social

#mutex — Public Fediverse posts

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

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

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

    habr.com/ru/articles/1029582/

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

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

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

    habr.com/ru/articles/1029582/

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

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

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

    habr.com/ru/articles/1029582/

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

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

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

    habr.com/ru/articles/1029582/

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

  5. #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.

  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. 🦀🔒 "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

  8. 🦀🔒 "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

  9. 🦀🔒 "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

  10. 🦀🔒 "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

  11. 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

  12. mutex vs atomic<bool>

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

    habr.com/ru/articles/1000192/

    #atomic #mutex #futex

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

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

    habr.com/ru/articles/986732/

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

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

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

    habr.com/ru/articles/986732/

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

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

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

    habr.com/ru/articles/986732/

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

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

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

    habr.com/ru/articles/986732/

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

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

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

    habr.com/ru/articles/982600/

    #java #multithreading #monitor #mutex

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

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

    habr.com/ru/articles/982600/

    #java #multithreading #monitor #mutex

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

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

    habr.com/ru/articles/982600/

    #java #multithreading #monitor #mutex

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

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

    habr.com/ru/articles/982600/

    #java #multithreading #monitor #mutex

  21. 🔧🚗 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

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

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

    habr.com/ru/articles/956690/

    #Golang #Go #concurrency #mutex

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

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

    habr.com/ru/articles/933464/

    #go #golang #goroutine #mutex

  24. 🔒💻 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

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

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

    habr.com/ru/articles/915854/

    #lazarus_ide #free_pascal #mutex #named_pipes

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

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

    habr.com/ru/articles/915854/

    #lazarus_ide #free_pascal #mutex #named_pipes

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

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

    habr.com/ru/articles/915854/

    #lazarus_ide #free_pascal #mutex #named_pipes

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

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

    habr.com/ru/articles/915854/

    #lazarus_ide #free_pascal #mutex #named_pipes

  29. 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

  30. Los mutex permiten solucionar el problema de las race condition en programación concurrente. En este articulo te explico como usarlos correctamente.

    lateclaescape.com/post/2025/mu

    #Mutex #raceconditions #pthread #concurrencia

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

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

    habr.com/ru/articles/865518/

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

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

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

    habr.com/ru/articles/853266/

    #coroutine #race_conditions #multithreading #mutex #semaphore

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

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

    habr.com/ru/articles/853266/

    #coroutine #race_conditions #multithreading #mutex #semaphore

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

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

    habr.com/ru/articles/853266/

    #coroutine #race_conditions #multithreading #mutex #semaphore

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

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

    habr.com/ru/articles/853266/

    #coroutine #race_conditions #multithreading #mutex #semaphore

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

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

    habr.com/ru/companies/beget/ar

    #mutex #futex #c++ #cosmopolitan_libc

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

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

    habr.com/ru/companies/jugru/ar

    #jpoint #joker #java #garbage_collector #mutex

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

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

    habr.com/ru/companies/jugru/ar

    #jpoint #joker #java #garbage_collector #mutex

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

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

    habr.com/ru/companies/jugru/ar

    #jpoint #joker #java #garbage_collector #mutex