У меня есть определенное количество нитей, скажем, 5 темы: A, B, C, D и E.Связь между несколькими потоками
Я хотел бы знать, что некоторые специфические подходы к дизайну интерфейса связи между эти потоки, так что поток получателя может отличать сообщения от разных отправителей. Кроме того, каждый поток также должен иметь возможность отправлять сообщения самому себе.
Например, могу ли я спроектировать каждую нить, чтобы иметь несколько BlockingQueues
, по одному для каждой нити отправителя? Кроме того, каждый поток имеет список приемников, в которых он может отправлять сообщения? Рекомендуется ли это?
Каков наилучший/разумный способ реализации этого в java?
Создать очередь сообщений для каждой пары потоков, которые необходимо обменивать? (На самом деле по одному для каждого направления) – immibis
Проблема потоковой передачи является выбором реализации и не имеет особого отношения к вашему вопросу, а именно об ограничении экземпляров «общением» с ограниченным числом других экземпляров. – Bohemian
Ответ будет зависеть от того, как вам нужно это сообщение, т. Е. Нужно ли B дождаться, пока A не отправит сообщение? Что насчет Ожидания B? И то же самое для других ... –