비동기 채널
비동기 채널 (AsynchronousChannel)
비동기적으로 닫기와 다른 비동기 연산을 지원하는 채널을 나타내는 인터페이스예요. 모든 비동기 채널의 기반입니다.
본문
AsynchronousChannel은 비동기적으로 닫기와 다른 비동기 연산을 지원하는 채널을 나타내는 인터페이스예요.
public interface AsynchronousChannel extends Channel
비동기 채널에는 두 가지 닫기 방식이 있어요.
- 동기 닫기 —
close()메서드를 호출해 다른 스레드에서 진행 중인 비동기 연산을 완료시킨 뒤 채널을 닫아요. - 비동기 닫기 — 진행 중인 I/O 연산이 즉시 실패하게 만들고(
AsynchronousCloseException), 그 후 채널이 닫힙니다.
void close() throws IOException
비동기 채널은 스레드 안전하며, 여러 스레드가 동시에 연산을 시작할 수 있지만 각 연산은 한 번에 하나의 스레드에서 진행되어야 해요. 이 인터페이스는 AsynchronousByteChannel, 비동기 소켓 채널, 비동기 채널 그룹 등 비동기 I/O의 기반입니다.