파이프
파이프 (Pipe)
단방향 파이프를 구현하는 한 쌍의 채널이에요. 쓰기 가능한 싱크 채널(sink)과 읽기 가능한 소스 채널(source)로 구성됩니다.
본문
Pipe는 단방향 파이프를 구현하는 한 쌍의 채널을 나타내요. 파이프는 두 개의 채널로 구성됩니다.
- 싱크 채널(sink) — 쓰기 가능한 채널.
- 소스 채널(source) — 읽기 가능한 채널.
public abstract class Pipe extends Object
싱크 채널에 쓴 바이트는 소스 채널에서 정확히 쓰인 순서대로 읽을 수 있어요. 파이프에 바이트를 쓰는 스레드가 다른 스레드가 그 바이트를 읽을 때까지 블록될지는 시스템에 의존하며 명세에 정의되어 있지 않습니다.
public abstract Pipe.SourceChannel source()
public abstract Pipe.SinkChannel sink()
public static Pipe open() throws IOException
source()— 소스(읽기) 채널을 반환해요.sink()— 싱크(쓰기) 채널을 반환해요.open()— 새 파이프를 만들어요.
많은 구현이 싱크와 소스 채널 사이에 일정량의 바이트를 버퍼링하지만, 그런 버퍼링을 가정해서는 안 됩니다. 프로세스 내 스레드 간 단방향 데이터 전달에 사용돼요.