2015-06-15 80 views
0

我想通過message收據在同一時間觸發,一些過程分爲不同的Actor s。考慮到我的Actor可能會堆積很多mailBox es,那麼實現它的最佳方法是什麼?同步事件觸發

+0

只是要清楚:你想同時發送消息嗎?或者你想要保證演員們將同時閱讀這些信息? – Quizzie

回答

1

我假設你想讓演員同時讀取消息。這當然是不可能的(當一個演員正在處理一個消息時,他不會被打擾)。

但是,您可以確保您的觸發消息是他們將從郵箱中接收的下一條消息。這可以通過使用優先郵箱來實現,例如這一個:http://doc.akka.io/api/akka/snapshot/index.html#akka.dispatch.UnboundedStablePriorityMailbox

郵箱中的郵件將按優先級排序。如果您將觸發器消息設置爲最高優先級,則會先處理它們。

+0

謝謝。我正在考慮使用'UnboundedControlAwareMailbox'(http://doc.akka.io/api/akka/snapshot/index.html#akka.dispatch.UnboundedControlAwareMailbox) – wipman

+0

@wipman這是一個不錯的選擇。 – Quizzie