2015-06-15 5 views
0

Я хочу запускать в то же время через message квитанция, некоторые процессы в разные Actor s. Учитывая, что мой Actor s может сильно укладываться 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