EventLoop
- 계속적으로 실행되는 Thread로, event를 받고 그것을 event handler(worker)에게 dispatch 함
- event 처리와 요청 받는 것을 concurrent하게 처리하기 위해 구성된 것임
- EventLoop가 있기 전에는 request 별로 thread가 할당되어 해당 request가 끝날 때 까지는 그 Thread는 사용이 불가능함(java.io의 stream과 같이 block 되는것) ⇒ request가 많이 들어오면 Thread가 많이 생기게 되고 resource 낭비, 그리고 context switching 비용이 상당해짐
- EventLoop를 사용함의 장점
- 계속적인 Thread 생성이 불필요하기에 resource 낭비가 덜함
- context switching의 오버헤드가 줄어듬