정리: 이태혁 (Lee, Taehyuk)

<aside> 💬 참고사이트

  1. https://syundev.tistory.com/270
  2. https://pompitzz.github.io/blog/Java/threadPoolExecutor.html#executors-팩토리를-활용하여-threadpoolexecutor-생성하기
  3. https://wellbell.tistory.com/237
  4. https://projectreactor.io/docs/core/release/api/reactor/core/scheduler/Schedulers.html
  5. https://wiki.terzeron.com/Programming/Java/Reactor_Flux의_publishOn_subscribeOn을_이용한_스케쥴링
  6. https://velog.io/@jaehyunup/Srping-Webflux의-탄생-배경과-MVC와의-차이
  7. https://dev-jj.tistory.com/entry/Spring-WebFlux-EventLoop-Non-Blocking
  8. https://devahea.github.io/2019/04/21/Spring-WebFlux는-어떻게-적은-리소스로-많은-트래픽을-감당할까/
  9. https://robin00q.tistory.com/83

</aside>

서론

Why Thread Pool?

<aside> 💡 Thread 생성 오버헤드란? 스레드 생성 시에는 스레드 스택, 스레드 ID, 레지스터 등의 자원이 할당되고 초기화되어야 한다. 이러한 작업은 메모리, CPU 시간 등의 자원을 사용하며, 이는 시스템의 전반적인 성능에 영향을 미친다.

</aside>

스레드풀이 만병 통치약? (No)

그림 출처: LinkedIn Thread Pool hell 현상 (사이트)

그림 출처: LinkedIn Thread Pool hell 현상 (사이트)

본론

JAVA 에서의 스레드 풀 관리?

<aside> 💡 Java에서 사용 가능한 스레드 풀 (아래 3가지로 분류할수 있다)

 **1. 일반 자바 스레드 풀**,       **2. 스프링 제공 스-레드 풀**,       **3.** **WebFlux 제공 스레드풀**

</aside>