繁体   English   中英

消息到达邮箱处理器的顺序

[英]order of arrival of message on a mailboxprocessor

是否/如何保证发送到邮箱处理器的邮件的到达顺序

也就是说,如果我这样做的话

agent.post(msg1)
agent.post(msg2)

我怎样才能确定在代理的处理循环中,将按顺序接收消息?

他们是。 Post的实现就像你猜测的那样,它只是在队列中添加一个项目(在当前线程上,在锁定下),并且post工作以通知任何等待代理唤醒和处理它。 因此,如果您在同一个线程上一次又一次地调用Post ,则消息将按此顺序进入队列。

如果您有某种检测顺序的方法,也可以使用inbox.Scan(function _ -> None // return an Option)来查找消息。 当然,这会带来性能代价,因此单独排队是最好的选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM