Модель с одним потоком на канал с netty OIO

Означает ли модель «один поток на канал» с Netty OIO, что операция записи или чтения может выполняться на одном канале за раз? Я пишу распределенные приложения с небольшим количеством подключений (~ 20) и думал об использовании Netty OIO. Однако мне очень важно, чтобы на каком-то канале не блокировалось получение сообщений, в то время как соответствующий рабочий поток заблокирован на запись? Есть ли способ добиться этого с помощью Netty OIO, т. Е. Могу ли я иметь один поток для записи на канал и один поток для чтения на том же канале?


person Zarko Milosevic    schedule 08.05.2012    source источник
comment
Старый вопрос / обновленная информация: Просто хочу отметить, что OIO устарел с версии 4.1 и будет удален в будущих версиях netty. Документация OIO Netty.IO API   -  person Mr00Anderson    schedule 27.03.2019


Ответы (1)


В OIO запись никогда не блокируется чтением. Таким образом, вы можете писать данные в канал, пока он ожидает получения данных.

person Norman Maurer    schedule 11.05.2012
comment
Просто чтобы уточнить, вы имеете в виду, что запись в channel не блокируется, а запись в соединение блокируется? Поскольку с автоматическим чтением, установленным в true, я вижу, что моя запись не происходит, пока я сначала не прочитаю что-нибудь (эту функцию я тоже не совсем понимаю, потому что как клиент, зачем мне начинать с чтения?) . - person whiskeysierra; 20.07.2020