서버가 한정된 갯수의 스레드를 가지고 요청을 효율적으로 분배하는 메커니즘임.
1. CPU 처리 스레드
2. IDLE 스레드
3. IO 입출력 스레드
총 3개의 스레드를 서버가 사용한다고 하자, 요청에는 CPU 연산 작업, 입출력, DB 처리 등등 기타.
근데 문제는 그 많은 작업들이 언제 상태 변경(입출력이 들어올지, 정수를 합하는 연산이 끝날지)이 이루어지는지 확인하는게 문제가 됬음.
매번 반복해서 체크하면 완전 비효율적이거든.
그래서 이벤트 개념을 씌움.
Notification을 두고 프로그램은 1번 Queue에 있는 작업들을 처리하다가 그중에 하나가 IO 입출력 이벤트를 발생시키면 Notification이 응답받고 3번 쓰레드로 넘김.
그럼 프로그램이 1번 Queue에 담긴 작업들만 계속 작업해도 아무 문제가 없지.
대충 이렇게 생각해라, 이벤트 뜨면 각 처리에 알맞는 스레드로 넘기는거.
물론 스레드를 몇개 생성하건 그건 설계자 마음대로고.
그래, GUI도 각 버튼에 리스너 두고 이벤트 뜨면 핸들러 호출하잖아, 여기서는 리스너가 이벤트 받고 다른 섹션으로 넘김
갯수->개수 (개수 (個數)[명사] : 한 개씩 낱으로 셀 수 있는 물건의 수효.) [리듬 맞춤법 봇♬]
됬->됐 (되어 = 돼임) [리듬 맞춤법 봇♬]