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

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

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

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

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

Добрый день, коллеги! Я инженер по энергетике и автоматизации. Имею приличный опыт работы с инженерными системами жизнеобеспечения. Не так давно появилась идея сделать свою SCADA-систему для...

Хабр

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

https://notes.brooklynzelenka.com/Blog/Surelock

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

Surelock

NOTE Hello r/rust! Thank you for the interest in this work and for the delightful conversation ❤️ I hate deadlocks. Maybe you do too.

🎒 Monad Nomad
🦀🔒 "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. 😆❤️
https://notes.brooklynzelenka.com/Blog/Surelock #Surelock #Haskell #HackerNews #ngated
Surelock

NOTE Hello r/rust! Thank you for the interest in this work and for the delightful conversation ❤️ I hate deadlocks. Maybe you do too.

🎒 Monad Nomad
Linux 6.14 的 ntsync 對 Wine 11 的加速

看到「Wine 11 rewrites how Linux runs Windows games at the kernel level, and the speed gains are massive (via)」這則,記得好像是去年有掃到 kernel 支援的消息,現在 Wine 11 正式支援,可以來回顧一下差異了...

Gea-Suan Lin's BLOG
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!" 🤓💥
https://www.cppstories.com/2026/shared_mutex/ #C++17 #std_shared_mutex #programming #humor #HackerNews #ngated
Understanding std::shared_mutex from C++17

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:

C++ Stories

mutex vs atomic<bool>

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

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

#atomic #mutex #futex

mutex vs atomic<bool>

Недавно "орлиный глаз" (то есть я) заметил, что в std::atomic у методов есть wait/notify методы. Я думал, что std::atomic это сугубо user-space примитивы синхронизации, но согласно cppref (да и...

Хабр
'm going to need that thing we, modern hardcore developers, call a #mutex , but on a preemptive multitasking kernel from 1985: #Amiga exec, indeed. Mutexes are not a concept invented by Philip K. Dick about some devices to kill mutants, but a way to lock the use of something when 2 or more programs need to use that thing at the same time. Back then, If you looked at all the function list of "exec", some could look strange, ObtainSemaphore(), ReleaseSemaphore(), ...What is that ? You have guessed: That's the Amiga exec Mutex integration, nothing else !
That said, No way: I'm still figuring a real navy semaphore when I come to this.

[Перевод] Атомарные операции против мьютексов в 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