我对阿卡很新,在参考手册中找不到答案。akka演员的留言传递顺序
假设我们有分布式3个机(A,B,C),其中一个演员住每台机器上和其他的集群中的远程参与者有actorRef至2个其他的,即:
Machine A:
A (real actor)
-> B (ref)
-> C (ref)
Machine B:
-> A (ref)
B (real actor)
-> C (ref)
Machine C:
-> A (ref)
-> B (ref)
C (real actor)
演员甲执行以下代码:
bRef ! msg1
bRef ! msg2
演员乙执行消息处理程序下面的代码:
case msg1 =>
cRef ! msg3
aRef ! msg4
演员Ç执行下面的消息处理程序代码:
case msg3 =>
aRef ! msg5
我可以做如下假设(如果有的话):
演员B获得MSG1它得到MSG2
演员A之前在msg4之前获得msg5
而后续问题是probab ly导致了解上述: 是由!运营商真正异步通过网络还是等到接收邮箱得到它? 也就是说确实行
bRef ! msg1
块,直至演员的B的邮箱获取消息还是它酿出它处理交货线程和继续执行
bRef ! msg2
它甚至知道演员B获得了MSG1过吗?
你还没有真正解决过1.和2.,尽管你可以推断出2.不符合你所显示的。然而,这并没有解决1,即使是切向。 – 2011-06-01 14:44:27
你说得对。我修改了我的答案以回答我正在回答的具体问题。 – 2011-06-01 14:51:33
你确定要实现(2)我也不必将actor C代码改为aRef! MSG5? – Grozz 2011-06-02 06:53:08