Bootstrap에서 bossGroup과 workerGroup을 받는다. 둘다 eventLoop이고 자체 selector를 가지고 있다. bossGroup은
네트워크 레이어를 구성하는 컨테이너. bossGroup과 workerGroup을 받는다.
생성자가 빌더패턴으로 되어있음
channel -> selector -> eventLoop
eventLoop는 왜 group별로 나누어져있는가?
여러 개의 eventLoop를 묶은 이유?
nioEventLoop는 selector를 가지고 있고, selector에다가 socketChannel을 등록한다고 하는데 대체 socketChannel은 어디있는가?
IO multiplexing에 사용
IO multiplexing이란?
가장 자주 쓰이는 모델로, 싱글 스레드에서 listen과 블록을 여러 리소스들에 대해 동시에 진행한다 (polling -cpu 자원 낭비- 또는 멀티스레딩을 한다는 의미는 아님) 그리고 하나라도 자원이 준비되면 리턴한다.
netty에서는 selector도 선택 가능
java 시스템변수로 지정 가능
selector 커스텀을 고민해볼 수도 있을까?
디폴트는 KQueueSelectorImpl ( for mac os)
EventExecutor은 interface인데??