본문 바로가기
socket programming

Thread pool 개념 정리

by 몰라몰라개복치 2020. 3. 18.

Thread pool

 

>스레드(Thread)

컴퓨터 내부적으로 운영체제(OS)가 요청을 받아들여 메모리 공간을 확보해주고 할당해 주는 곳

 

>스레드 풀(Thread Pool)

미리 스레드를 일정 수량 만들어두고 작업하는 방식 

스레드를 몇 개 생성해두고 모든 작업을 그 한정된 스레드로 재활용하며 작업한다고 생각하면 

 

Thread Pool 그림

 어플리케이션에서 사용자로부터 들어온 요청을 작업큐에 넣음-> 스레드풀은 작업큐에 들어온 Task 일감을 미리 생성해 놓은 Thread에게 일감을 할당->일을 다 처리한 Thread들은 다시 어플리케이션에게 결과값을 리턴

 

>Thread Pool을 사용해야 되는 이유

1. 프로그램 성능저하를 방지하기 위해

2. 다수의 사용자의 요청을 수용하고, 빠르게 처리하고 대응

3. 스레드 생성/소멸에 드는 비용을 작업이 들어올 때마다 하기엔 부담이 큼

 

'socket programming' 카테고리의 다른 글

DDoS Generator(2)  (0) 2020.04.02
DDos Generator(1)  (0) 2020.03.18
멀티스레드  (0) 2020.03.16
웹서버 구현  (0) 2020.03.09
웹 서버 & 클라이언트 채팅 프로그램  (0) 2020.03.06