[英]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.