Каналы в Java IO обеспечивают возможность взаимодействия двух потоков, работающих в одной JVM. Поскольку такие каналы являются общим источником или местом назначения данных.
Это полезно, если у вас есть два длинных потока, один из которых настроен на создание данных, а другой использует их.