728x90

쓰레드의 생성과 소멸은 시스템에 많은 부담을 준다.

컴퓨터의 쓰레드 생성 및 소멸로 인해 성능이 저하되는 것을 피하기 위해 존재하는 것이 쓰레드 풀 이다.

쓰레드 풀의 기본 원리는 쓰레드 재활용이다.

할당된 일을 마친 쓰레드를 소멸시키지 않고, 쓰레드 풀에 저장해 뒀다가 필요할 때 다시 꺼내 쓰는 개념이다.

 

 

쓰레드 풀은 처리할 일(Work)이 등록되기 전에 생성된다.

풀이 생성됨과 동시에 쓰레드들도 생성되어 풀에서 대기하게 된다.

쓰레드 풀이 생성된 상태에서 처리해야 할 일(Work)이 하나 등록되었다면 쓰레드 풀에 존재하는 쓰레드 하나를 임의로 할당해서 일을 처리한다.

 

쓰레드 풀에 존재하는 쓰레드 수 보다 처리해야할 일의 수가 많다면, 일이 순서대로 처리되도록 디자인 할 수 있고, 추가적인 쓰레드가 생성되도록 풀을 디자인 할 수도 있다.

 

쓰레드 풀링은 한번 생성한 쓰레드를 재활용해서 시스템의 부담을 덜어주기 위한 기법이다.

쓰레드 풀은 여러개의 쓰레드를 생성한다. 그리고 실행해야 할 일이 등록될 때마다 미리 생성해 놓은 쓰레드 중 하나를 할당한다. 그리고 일이 끝나면 쓰레드는 소멸시키지 않고 다음 일을 위해서 보관한다.

728x90

+ Recent posts