Spring Boot를 이용해서 개발을 하다가 문득 궁금증이 생겼습니다. Spring Boot는 여러 개의 요청을 어떻게 병렬적으로 처리할까? 바로 알아보겠습니다. Spring Boot가 병렬적으로 처리를 하긴 하나? 아래의 코드를 보겠습니다. @RestController() @RequestMapping("/study") public class StudyController { private final Logger log = LoggerFactory.getLogger(this.getClass().getSimpleName()); @GetMapping("/threadPool") public String threadPoolTest(){ try{ log.info("Method start!"); Thread.sle..
Thread
개발을 하다보면 계산을 병렬적으로 처리할 필요가 있습니다. 그때 우린 흔히들 멀티쓰레드를 사용해라 라고 합니다. 멀티쓰레드는 쓰레드를 여러개(멀티)로 사용한다는건데, 그럼 과연 쓰레드는 무엇일까 알아봅시다. 쓰레드(Thread) 정의 실행 중인 프로세스(≒프로그램) 내에서 실제로 작업을 실행하는 주체를 의미합니다. 아래 코드를 실행시키는 것도 하나의 쓰레드가 실행한다고 보면 됩니다. 실행 결과는 당연히 아래와 같습니다. 그러면 하나의 쓰레드 라는것은 여러개가 존재 가능하다는 것입니다. 단순하게 쓰레드를 2개 추가 실행시키는 예제 코드와 결과는 아래와 같습니다. 쓰레드를 2개를 추가로 실행시켜 각 쓰레드마다 hello()라는 함수를 실행시키는 간단한 예시 코드입니다. 실행 결과는 아래와 같습니다. 이번엔 ..