Класс Pipe
- java.lang.Object
-
- java.nio.channels.Pipe
public abstract class Pipe extends Object
Пара каналов, реализующих однонаправленную трубу.
Труба состоит из пары каналов: каналом записи sink и каналом чтения source. После записи байтов в канал записи они могут быть прочитаны из канала чтения в точно таком же порядке, в котором они были записаны.
Будет ли поток, записывающий байты в трубу, блокироваться до тех пор, пока другой поток не прочитает эти байты, или же ранее записанные байты из трубы, зависит от системы и поэтому не определено. Многие реализации труб буферизуют до определенного количества байтов между каналами записи и чтения, но такой буферизации нельзя предполагать.
- Since:
- 1.4
Вложенные классы
| Модификатор и тип | Класс и описание |
|---|---|
static class |
Pipe.SinkChannel Канал, представляющий собой записываемый конец |
static class |
Pipe.SourceChannel Канал, представляющий собой читаемый конец |
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
Pipe() Инициализирует новый экземпляр этого класса. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static Pipe |
open() Открывает трубу. |
abstract Pipe.SinkChannel |
sink() Возвращает канал записи этой трубы. |
abstract Pipe.SourceChannel |
source() Возвращает канал чтения этой трубы. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
Pipe
protected Pipe()
Инициализирует новый экземпляр этого класса.
Методы
source
public abstract Pipe.SourceChannel source()
Возвращает канал чтения этой трубы.
- Возвращает:
- Канал чтения этой трубы
sink
public abstract Pipe.SinkChannel sink()
Возвращает канал записи этой трубы.
- Возвращает:
- Канал записи этой трубы
open
public static Pipe open()
throws IOException Открывает трубу.
Новая труба создается путём вызова метода openPipe объекта глобальной по умолчанию SelectorProvider.
- Возвращает:
- Новую трубу
- Исключение:
-
IOException- Если произошла ошибка ввода/вывода
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.