簡體   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