[Java] Multiplexer
I/O Multiplexing 이란? I/O Multiplexing이라는 기술은 여러 개의 입출력 작업을 동시에 처리하는 기법을 의미합니다. 일반적으로 하나의 프로세스(혹은 싱글 스레드)가 여러 개의 I/O 요청을 처리해야 할 때 사용됩니다. 대표적인 예로는 Netty와 Redis와 같은 고성능 네트워크 애플리케이션이 있습니다. 그렇다면 Java에서는 I/O Multiplexing을 어떻게 구현할 수 있을까요? Java에서는 I/O Multiplexing을 구현하기 위한 핵심 컴포넌트로 Java NIO의 Selector를 사용합니다. 또한 운영체제에 따라 Selector의 여러 가지 구현체를 제공합니다. 이 Selector를 사용하면 Java에서도 I/O Multiplexing이 가능한 EventLoop..