Как правильно закончить работу на выходном конце трубы? Мне нужно, чтобы поток записи завершался или выполнял какую-то другую работу, а поток чтения считывал все записанные данные до конца.
Должен ли я закрыть трубу на пишущем конце или как?
ОБНОВЛЕНИЕ 1
Я хочу уточнить... Согласно данным ответам, правильно ли я думаю, что поведение каналов по дизайну не предполагает какого-либо изящного завершения?
после открытия единственный способ остановить трубопровод - сломать трубу?
Обычные потоки ожидают окончания сигнала потока, когда метод read()
возвращает -1
. Правильно ли я думаю, что это никогда не происходит с конвейерными потоками?