비동기 채널 그룹

비동기 채널 그룹 (AsynchronousChannelGroup)

공유된 자원 풀을 사용하는 비동기 채널 그룹을 나타내는 클래스예요. 비동기 채널들의 스레드와 완료 처리 자원을 관리합니다.

출처: Java API Reference

본문

AsynchronousChannelGroup은 비동기 채널의 그룹을 나타내는 클래스로, 비동기 채널들이 공유하는 스레드 풀과 자원을 관리해요.

public abstract class AsynchronousChannelGroup extends Object
implements AsynchronousChannelGroup

비동기 채널은 그룹으로 만들어지며, 채널이 속한 그룹의 스레드 풀에서 I/O 완료 작업이 처리됩니다. 그룹은 withFixedThreadPool() 또는 withCachedThreadPool() 같은 정적 메서드로 만들 수 있어요.

public static AsynchronousChannelGroup withFixedThreadPool(int nThreads, ThreadFactory threadFactory)
throws IOException
public static AsynchronousChannelGroup withCachedThreadPool(ExecutorService executor, int initialSize)
throws IOException
public static AsynchronousChannelGroup withThreadPool(ExecutorService executor)
  • withFixedThreadPool() — 고정된 수의 스레드 풀을 사용해요.
  • withCachedThreadPool() — 캐시된 스레드 풀을 사용합니다.
  • withThreadPool() — 제공된 ExecutorService를 사용해요.

그룹은 shutdown()으로 종료를 시작하고, shutdownNow()로 즉시 종료할 수 있으며, awaitTermination()으로 완전히 종료될 때까지 기다릴 수 있어요. 그룹이 종료된 뒤에는 새 채널을 만들 수 없습니다.

더 알아보기 (Learn more)