[CS] 풀(Pool)이란?

오도원공육사·2022년 10월 3일

컴퓨터과학

목록 보기
1/2

정의

컴퓨터 과학에서 풀은 사용할 때 획득한 메모리와 나중에 해제되는 메모리가 아닌, 사용할 준비가 된 메모리에 유지되는 리소스 모음이다.
리소스는 프로세스 외부에 있는 File Handle과 같은 시스템 리소스 또는 object와 같은 내부 리소스를 참조할 수 있다. 클라이언트가 리소스 사용을 완료하면 해제 및 손실되지 않고 풀로 반환된다.

장점

  • 리소스 풀링은 높은 리소스 획득 비용, 높은 리소스 요청 비율, 사용되는 리소스 수가 낮은 상황에서 응답 시간에 많은 향상을 제공한다.
  • 풀은 이미 리소스를 확보하는데 예측 가능한 시간으로 제공하기 때문에 latency가 문제가 되는 경우에도 유용하다.
  • 이러한 점은 DB연결, 소켓 연결, 스레드 및 메모리 할당과 같이 시스템 호출이 필요한 시스템 리소스 또는 네트워크 통신이 필요한 원결 리소스에 대부분 해당된다.
  • 풀링은 또한 데이터 캐시 또는 메모이제이션 기술로 작동되는 글꼴이나 비트맵과 같은 큰 그래픽 개체와 같이 컴퓨팅 비용이 많이 드는 데이터에 유용하다.

특수한 풀로 연결 풀, 스레드 풀 및 메모리 풀이 존재한다.

레퍼런스

https://en.wikipedia.org/wiki/Pool_(computer_science).

profile
잘 먹고 잘살기

0개의 댓글