비동기 채널

비동기 채널 (AsynchronousChannel)

비동기적으로 닫기와 다른 비동기 연산을 지원하는 채널을 나타내는 인터페이스예요. 모든 비동기 채널의 기반입니다.

출처: Java API Reference

본문

AsynchronousChannel은 비동기적으로 닫기와 다른 비동기 연산을 지원하는 채널을 나타내는 인터페이스예요.

public interface AsynchronousChannel extends Channel

비동기 채널에는 두 가지 닫기 방식이 있어요.

  • 동기 닫기close() 메서드를 호출해 다른 스레드에서 진행 중인 비동기 연산을 완료시킨 뒤 채널을 닫아요.
  • 비동기 닫기 — 진행 중인 I/O 연산이 즉시 실패하게 만들고(AsynchronousCloseException), 그 후 채널이 닫힙니다.
void close() throws IOException

비동기 채널은 스레드 안전하며, 여러 스레드가 동시에 연산을 시작할 수 있지만 각 연산은 한 번에 하나의 스레드에서 진행되어야 해요. 이 인터페이스는 AsynchronousByteChannel, 비동기 소켓 채널, 비동기 채널 그룹 등 비동기 I/O의 기반입니다.

더 알아보기 (Learn more)