디자인 패턴

Worker Thread Pattern

pine tree root 2022. 8. 24. 18:19

Worker Thread

  • Worker는 '일을 하는 사람' 혹은 '작업자'를 의미합니다.
  • System 관점에서 Woker의 역할은 Process 혹은 Thread가 일임한다.
  • Thread의 경우, Overhead와 같은 이슈때문에 Thread Pool에서 미리 생성되어 존재하고 필요시 하나씩 위임된다.

처리 흐름

  • 클라이언트 쓰레드는 request(일)을 채널 쓰레드에 의뢰합니다.
  • 채널쓰레드는 쓰레드풀에서 워커 쓰레디를 호출하여 reqeust 처리를 요청합니다.
  • 워커 쓰레드는 일을 처리하고 다시 Thread Pool로 돌아가 일의 request를 기다립니다.
  • 채널 쓰레드는 클라이언트 쓰레드에게 응답을 보냅니다.

Client Thread