멀티플렉싱이란? 하나의 통신 채널을 통해서 둘 이상의 데이터를 전송하는데 사용되는 기술이다. 기본적으로 멀티플렉싱이란 여러 개를 하나로 묶어 다중화 시킨다는 뜻이다. 코드에서 볼 것은 여러 개의 channel을 하나로 묶어서 사용하는 것인데, 이 방법을 입출력에 적용한다. 여기서 입출력 버퍼를 사용하게 된다. Blocking mode로 동작하는 것들과는 달리 멀티플렉싱은 Non-Blocking Mode로 동작하게 된다. I/O blocking : I/O의 효율을 높이기 위해 디스크에서 읽어오는 data를 운영체제의 kernel 버퍼 에 저장한 후, 버퍼가 꽉 차면 프로세스의 버퍼로 옮기는데, data가 kernel 버퍼로 저장되는 동안 프로세스의(정확하게는 I/O를 요청한 thread가) blocking..