BlockingCollection
rotor
BlockingCollection | rotor | |
---|---|---|
1 | 8 | |
58 | 327 | |
- | - | |
0.0 | 8.9 | |
over 4 years ago | 11 days ago | |
C++ | C++ | |
GNU General Public License v3.0 only | 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.
BlockingCollection
-
What are some candidate libraries for inter-thread communication like message boxes or event systems?
I wasn't aware of copper; that looks pretty slick if you're able to pivot to that paradigm of thread interaction. I had played around with BlockingCollection at some point in the past.
rotor
-
OpenMP on heterogenous CPUs
If your architecture fits into inter-process messaging, i.e. spawn threads which do similar or different tasks and inform each other via messages, try to use actor framework, i.e. rotor (disclaimer: I'm the author). If there is a need to expand messaging even more, i.e. across the network, you can try to use caf, which provides that facility out of the box.
-
Multiplayer, multithreading, and an actor model in C++
What you achieved, is handlers decoupling, i.e. when one handler knows nothing about other handler, which leads to good application testability. However, with standard promise/future bases messaging, if performance matters (and it usually does, otherwise why use C++?), i doubt that your implementation overwhelms the performance of specialized actor libraries, like sobjectizer ("batteries included" actors toolbox) or rotor (DIY-like actor constructor set; disclaimer: I'm the author of it).
- C++ Show and Tell - July 2022
-
Embedded Linux libraries/frameworks
I have been reading the documents from Boost.fibre and Boost.Signals2 which I could use, maybe ASIO for async. I also checked ZeroMQ (this seems to be more or less "only" for networking), Copper and Rotor. If this were just a simple MCU project I would just take the FreeRTOS and would have everything I need. Now I'm just lost how to structure my code / how to realize my main loop.
-
rotor, Erlang-inpired C++ microframework with supervising capabilities
I would like to present my project rotor, which is event loop friendly C++ actor micro framework with Erlang-like microframework with supervising capabilities.
-
What are some candidate libraries for inter-thread communication like message boxes or event systems?
rotor actor library (I'm the author) was designed to solve similar problem, which I named "actor intrusiveness", when almost every piece of code should be written in form of actor, and, the working threads, which spin actors, are out of your control.
-
Light Actor Concurrency Framework for C++
PS. I'm the author of rotor framework )
-
Sender and Receiver implementations
May be actor frameworks like caf, sobjectizer or rotor is something, that you are looking for.
What are some alternatives?
moodycamel - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
C++ Actor Framework - An Open Source Implementation of the Actor Model in C++
Taskflow - A General-purpose Parallel and Heterogeneous Task Programming System
Boost.Asio - Asio C++ Library
eXtended Template Library - eXtended Template Library
libuv - Cross-platform asynchronous I/O
libmill - Go-style concurrency in C
Dasynq - Thread-safe cross-platform event loop library in C++
readerwriterqueue - A fast single-producer, single-consumer lock-free queue for C++
uvw - Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!
cupla - The project alpaka has moved to https://github.com/alpaka-group/cupla
sobjectizer - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.