본문 바로가기

정보

Thread pool 이란?

Thread Pool 이란?


쉽게말해서는 스레드를 미리 만들어 두는 것이다.


그렇다면 스레드를 미리 만들어두면 어떠한 이점이 있는가?


thread pool의 장점


스레드를 생성/수거하는데 드는 비용이 들지 않는다.


스레드가 생성될 때 os가 메모리 공간을 확보해주고 메모리를 스레드에게 할당해준다.


스레드 풀을 미리 만들어 두기 때문에 처음에 생성하는 비용은 들지만 이전의 스레드를 재사용할 수 있으므로 시스템자원을 줄일 수 있고, 


작업을 요청시 이미 스레드가 대기중인 상태이기때문에서 작업을 실행하는데 딜레이가 발생하지 않는다.


thread pool의 단점


thread pool에  thread를 너무 많이 생성해 두었다가 사용하지 않으면 메모리 낭비가 발생한다.


예를 들어 pool에 100개의 thread를 미리 생성해 두었는데 1개의 thread만 사용한다면 어떻게 될까?


99개의 thread는 사용되지 않고 메모리만 차지하고있는 상황이 생길 수 있다.

'정보' 카테고리의 다른 글

context switching이란?  (0) 2018.08.12
Event-MPM, Event-Driven 의 차이 (Apache인가 Nginx 인가?)  (0) 2018.08.11
tengine 웹서버 설치하기  (0) 2018.08.06
PNG,GIF,JPEG,BMP 파일의 차이  (0) 2018.07.25
프로세스란?  (0) 2018.07.20