[英]Akka message order
根據Akka文檔( 消息傳遞可靠性 - 一般規則 ),為給定的發送者 - 接收者對保留消息順序。 ActorRef.tell(Object msg, ActorRef sender)
方法允許將另一個actor設置為消息的發送者。 所以我的問題是:誰是發送者 - 接收者對中的發送者,如果ActorRef.tell
的發送者沒有設置為self()
而是設置為另一個actor的ActorRef,則保留訂單?
哪些消息順序保證適用,如果某些代碼(未在actor的上下文中運行(例如,接口線程))通過ActorRef.tell
向actor發送消息並將發送者設置為ActorRef.noSender()
或任何其他ActorRef
?
您可以將sender
視為發送線程,而不是發送方ActorRef
,因此無論您作為發送方ActorRef
傳遞的是什么,消息都將按照您在該線程中調用tell
的順序放置在收件箱中。 執行tell
其他線程可以用你的線程的tell
調用以任何方式夾在中間,所以這就是sender -> receiver
排序保證引用的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.