Здравствуйте, cadet354, Вы писали:
C>Здравствуйте, remark, Вы писали:
R>>Как там это сделать по-правильному не скажу. Возможно самое простое решение — завести 2 порта (очереди), каждая очередь под сообщения своего приоритета.
C>да нет, надо чтоб если есть в очереди сообщения с определенном признаком, то их обработать в первую очередь, причем клиенты (те кто посылают сообщения о приоритетах мало что знают).
C>Т.е. прогнать текущую очередь, выбрать нужные, обработать, потом обрабатывать остальные в порядке получения, в ерланге это выглядит так:
C>C>priority_receive() ->
C> receive
C> {alarm, X} ->
C> {alarm, X}
C> after 0 ->
C> receive
C> Any ->
C> Any
C> end
C> end.
C>
C>копирайты Армстронга.
Не подскажу, как такое смоделировать... там вроде ещё упоминалась возможность вручную создавать фильтры, может так можно... а может и что встроенное есть. Кстати, там по-моему совсем на днях новая версия вышла.