我有1个SingleChronicleQueue
,其中有不同的消息是通过methodWriter代理API附加的。
我的阅读器处理程序处理'message1',并为同一处理程序附加不同的消息'message2',以便通过不同的方法(message2())处理该消息。
Flow is:
Append: proxy appends message1 to Q
Tailer: handler1 reads message1 and
appends using proxy message2 to same Q
Tailer: handler1 reads message2
好吗?
还是尾巴应该总是写到不同的“出站”队列中并将它们放在中间?
采用这种方法控制对共享状态的非锁定访问的原因。
答案 0 :(得分:1)
最简单的解决方案是为所有事件安排一个队列,并使读者忽略他们不关心的事件。
有更多的队列是有充分的理由的,但是,我将从一个队列开始,然后从那里开始。
注意:在单个队列中,即使使用了尾部的线程写完,尾部也将看到所有消息。