Есть ли способ передать два канала? - PullRequest
0 голосов
/ 15 октября 2018

У меня есть ReadableByteChannel и WritableByteChannel, теперь я хочу передать вывод из читаемого байтового канала в записываемый байтовый канал.Другими словами - когда есть доступные байты в читаемом канале, я хочу записать их в доступный для записи канал.

Могу ли я сделать это без нового потока?

1 Ответ

0 голосов
/ 15 октября 2018

Ну ... вы не можете сделать это на Java без любого потока в пользовательском пространстве.В стандартной Java не возможно сказать ОС «переподключить» два дескриптора файла и замкнуть передачу данных.

(Я не знаю ни одной современной основной ОС, которая бы поддерживала такого рода вещи. Хотя это не смешная идея. Если кто-нибудь знает пример ОС с такой функциональностью opf, пожалуйста, прокомментируйте...)

Однако, если вы используете API SelectableChannel и Selector, поток может перемежать "конвейер" с другими вещами, включая другие (основанные на селекторе) входы / выходы на других каналах.

...