2016-02-03 3 views
0

Я использую квазар для прослушивания и обработки сообщений на QueueObjectChannel. Я не уверен, какой объект я должен использовать в качестве очереди сообщений между волокнами. Проблема, с которой я сталкиваюсь, я не понимаю, что должно быть передано в конструктор QueueObjectChannel. Согласно javadoc, конструктор должен принимать QueueObjectChannel(co.paralleluniverse.strands.queues.BasicQueue<Message> queue, Channels.OverflowPolicy policy, boolean singleProducer, boolean singleConsumer), но это кажется противоречивым, потому что я пытаюсь создать что-то, что реализует BasicQueue.Передача сообщений между волокнами Quasar

Я должен реализовать интерфейс?

Мое понимание связи между волокнами полностью отключено?

ответ

1

Обычно каждый хочет (и должен) использовать API каналов, а не резервные очереди. Например, различные реализации очередей могут работать и/или быть только оптимальными с некоторыми типами данных, с нитями и/или волокнами, с конкретной конфигурацией буфера, когда есть один потребитель и т. Д.

Как explained here просто используйте статические Channels.new*Channel methods переходя в нужные вам свойства, и вы получите канал, поддерживаемый очередью, подходящей для вашего прецедента.

Смежные вопросы