Thread란?
프로그램에서 실행되는 작업의 최소 단위이다.
즉, Postman을 통해서 API 호출을 Spring에 요청하면 해당 요청을 thread가 처리를 해준다.
성능이 좋은 서버를 만들기 위한 thread의 활용으로는 하나의 thread를 극한의 효율로 사용하거나 thread를 여러 개 만들어서 활용한다.
하나의 쓰레드를 극한의 효율로 사용하는 것이 Node.js Node는 싱글 쓰레드 기반으로 동작을 한다.
node는 single-thread를 사용하여 한개의 Thread에서 모든 요청을 처리하는 방식을 취하고 있다.
기존의 spring과 달리 요청이 들어오면 바로 결과를 주는 것이 아니라
작업이 완료되는 대로 결과를 넘겨주는 비동기 방식을 취하고 있다.
node가 가지고 있는 한개의 Thread는 작업이 진행되는 동안 멈춰있는 것이 아니라
다른 작업을 수행할 수 있는 non-blocking 방식을 사용하고 있다.
쓰레드를 여러개 만들어서 한번에 여러개의 요청을 처리하는 것이 Spring이다. Spring은 멀티 쓰레드 기반으로 동작한다.
spring은 Multi-thread를 사용하여 다중요청을 동시에 처리하였다.
한개의 Thread가 하나의 요청 담당하여 응답까지 책임지고 반환하고
요청이 들어오면 바로 결과를 반환해주는 동기 방식을 사용하고
연산이 완료되는 동안 기다리는 blocking 방식을 사용하고 있다.
Spring Boot에서 멀티 쓰레드를 관리하는 방법
Postman으로 요청을 보내면