> how does your C++ architecture share data between threads?
Carefully ;-) The Actor library doesn't restrict what parameters you can pass, but by convention we're careful to limit it to primitives, pass-by-copy objects (like std::string), immutable ref-counted objects, and Actor references. Or else we use rvalue references to enforce 'move' semantics. But mistakes happen, so I'm looking forward to a system that will have better enforcement.