인터럽트 가능 채널

인터럽트 가능 채널 (InterruptibleChannel)

비동기적으로 닫히고 인터럽트될 수 있는 채널을 나타내는 인터페이스예요. 블록된 스레드가 안전하게 중단되도록 지원합니다.

출처: Java API Reference

본문

InterruptibleChannel은 비동기적으로 닫히고 인터럽트될 수 있는 채널을 나타내는 인터페이스예요.

public interface InterruptibleChannel extends Channel

이 인터페이스를 구현한 채널에서 I/O 연산을 수행하는 스레드가 인터럽트되면, 채널이 닫히고 진행 중이던 연산은 ClosedByInterruptException을 던집니다.

void close() throws IOException

또한 채널에 블록된 스레드가 있는 상태에서 다른 스레드가 close()를 호출하면(asynchronous close), 블록된 스레드의 연산은 AsynchronousCloseException을 던지며 실패해요. 이 인터페이스는 파일 채널, 선택 가능 채널 등의 기반이며, 블로킹 I/O를 안전하게 중단할 수 있게 해줍니다.

더 알아보기 (Learn more)