cpp-ipc
shadesmar
cpp-ipc | shadesmar | |
---|---|---|
1 | 4 | |
1,607 | 504 | |
- | - | |
6.1 | 0.0 | |
about 2 months ago | over 1 year ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cpp-ipc
-
What are the "best practices" or "better design patterns" for posting message from one thread to others?
I'm working on a complex c++ project for my company these days. First, I need to pass 5 different types of messages (and attached data) from Process A to Process B. I use cpp-ipc and it works fine. And in Process B, there is one thread (called thread b) which is responsible for receiving those messages and "posting" them to other threads. I can't determine (and of course, don't know) the good solutions. My current idea is to use 5 concurrent queues for the 5 types of message. When thread b receives a message, it pushes the message to a queue, and other threads take the message from the queue. pseudocode example:
shadesmar
-
Shadesmar: Fast C++ IPC using shared memory
You can track comparison benchmarks in this ticket: https://github.com/Squadrick/shadesmar/issues/56, I'll start updating it soon.
What are some alternatives?
Osiris - Free and open-source game hack for Counter-Strike 2, written in modern C++. For Windows and Linux.
iceoryx - Eclipse iceoryxâ„¢ - true zero-copy inter-process-communication
polybar-dwm-module - A dwm module for polybar
alephzero
filesystem - An implementation of C++17 std::filesystem for C++11 /C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD.
v6d - vineyard (v6d): an in-memory immutable data manager. (Project under CNCF, TAG-Storage)
areg-sdk - AREG is an asynchronous Object RPC framework to simplify multitasking programming by blurring borders between processes and treating remote objects as if they coexist in the same thread.
ultimatepp - U++ is a C++ cross-platform rapid application development framework focused on programmer's productivity. It includes a set of libraries (GUI, SQL, Network etc.), and integrated development environment (TheIDE).
InterprocessMemPool - c++ library for interprocess memory pools, communication, and automatic network device discovery. lightweight DDS alternative.
pe-util - List shared object dependencies of a portable executable (PE)