1. 서블릿 스레드가 요청(작업)을 받는다(서블릿 스레드 풀에서.)
2. 비지니스 로직을 처리한다 -> 이부분을 워커 스레드에게 위임하고 return
3. 워커스레드가 돌아오면, 서블릿스레드 풀에 그 작업이 다른 스레드에게 할당. 유저에게 response를 준다.
-
논블로킹이 아니었을 경우
->2번에서 블로킹이 일어나므로. 해당 스레드 대기큐로 들어가서 쿨쿨 잔다.
-> 메모리 사용량은 올라가는데 cpu는 놀고있는 비효율적인 상황발생.
-
비동기 블로킹 / 비동기 논블로킹을 잘 구분해야!!
댓글 없음:
댓글 쓰기