4 ms·
it's true, but that's a problem every other implementation suffer from. synchronization is a basic requirement in concurrency. in my experience the actor mode
by africanboy 6y ago
it's true, but that's a problem every other implementation suffer from.
synchronization is a basic requirement in concurrency.
in my experience the actor model implemented in Erlang provides simpler solutions to the problem as highlighted in this comment https://news.ycombinator.com/item?id=26535230 https://news.ycombinator.com/item?id=26535230
for example if B sends a message to C in response to a message from A, it could send back a specific response to A that will contact C on its behalf and avoid the non determinism
the fact that the actor model provides strong guarantees about messaging order between two actors, makes it easier to reason about it and avoid the pitfalls associated with it
it is also a well known problem
citing the Pony lang FAQ
So for example, if actors X and Y send to actor Z, there is no guarantee what order the messages will be processed by Z except that we can say, all messages sent by X will be processed in the order they were sent, as will all messages sent by Y. However, messages from X and Y can arrive at Z interleaved in any order that maintains the causal ordering of X to Z and Y to Z.