I/O 멀티 플렉싱 모델과 블로킹 I/O 모델은 모두 입출력 함수 자체는 블로킹이라는 점에서는 동일하다. 하지만 I/O 멀티 플렉싱 모델에서는 poll()을 통해서 입출력 함수를 호출하기 전에 어떤 파일에서 입출력이 준비됐는지를 확인할 수 있다는 장점이 있다. 그러므로 블로킹 I/O 처럼 해당 소켓에 아직 읽을 데이터도 없는데 read() 를 일단 호출해버려서 무한정 대기하는 경우는 방지하는 것이다.

비동기 서버에서 이벤트 루프를 블록하면 안 되는 이유 1부 - 멀티플렉싱 기반의 다중 접속 서버로 가기까지