Java NIO: многопоточный общий селектор - PullRequest
0 голосов
/ 30 мая 2018

Я хочу реализовать неблокирующую работу нескольких TCP-серверов - взаимодействие клиента с одним селектором с использованием минимальных потоков (более одного).Чтобы использовать многозадачность, но оптимизировать дополнительные издержки из-за каждого потока для каждого соединения.

Я хочу использовать селектор, который должен использоваться несколькими потоками.Основной поток будет прослушивать готовые каналы, используя вызов select ().Выбранный набор ключей будет назначен нескольким потокам для параллельного взаимодействия.

Возможен ли этот дизайн?Учитывая, что:

Селекторы сами по себе безопасны для использования несколькими параллельными потоками;однако их наборы ключей не являются.

...