개발공부
Thraed pool이란?
pumaclass
2024. 9. 5. 14:42
좋은 서버의 개념은 응답이 빠른 서버가 좋은 서버.
쓰레드풀이란?
미리 우리가 사용할 쓰레드를 여러개 생성해두는 개념
쓰레드를 미리 생성하는 이유는?
쓰레드를 생성할때는 시스템을 자원을 할당해야하고 제거할 때는 자원을 해제해야한다.
특히 많은 쓰레드를 생성하고 제거하는 경우에는 많은 시스템 자원을 할당하게 된다.
때문에 미리 쓰레드를 미리 생성하여 생성하고 삭제하는 일을 미리 처리하는것.
쓰레드가 5개가 있었는데 갑자기 7개가 필요해진다면?
작업큐에 들어온 요청을 담아두고 남는 쓰레드가 생기면 작업을 할당해준다.
즉 요청을 완료한 쓰레드는 다시 쓰레드풀로 돌아가 추가 요청을 해결한다.
하지만 작업큐까지 꽉 차게 된다면?
작업 큐에 더이상 작업을 요청 할 수 있는 공간이 없다면
쓰레드 풀에 쓰레드가 더 추가된다.
그럼에도 더 많은 추가 요청이 들어오게 된다면 클라이언트에 요청이 많다는 메세지를 출력한다.