In C++ you have ASIO (Boost) that’s mostly used for IPC but can be used as a general purpose async event queue. There is io_uring support too. You can sit a pool of threads as the consumers for events if you want to scale.
C++ has had a defacto support for threads for ages (Boost) and it has been rolled into the standard library since 2011.
If you’re using compute clusters you also have MPI in Boost. That’s a scatter/gather model.
There’s also OpenMP to parallelize loops if you’re so inclined.
I’m familiar with MPI in Fortran/C, and IIRC they had some MPI C++ primitives a that never really got a ton of traction (that’s just the informal impression I got skimming their docs, though).
How’s MPI in C++ boost work? MPI communicates big dumb arrays best I think, so maybe they did all the plumbing work for translating Boost objects into big dumb arrays, communicating those, and then reconstructing them on the other side?
What’s a dumb way to do computation? Using objects? I’m generally suspicious of divergence from the ideal form of computation (math, applied to a big dumb array) but C++ is quite popular.
In C++ you have ASIO (Boost) that’s mostly used for IPC but can be used as a general purpose async event queue. There is io_uring support too. You can sit a pool of threads as the consumers for events if you want to scale.
C++ has had a defacto support for threads for ages (Boost) and it has been rolled into the standard library since 2011.
If you’re using compute clusters you also have MPI in Boost. That’s a scatter/gather model.
There’s also OpenMP to parallelize loops if you’re so inclined.