네트워크로 이미지를 가져온다고 합시다, 이미지를 가져올때 1개의 이미지를 1개의 쓰레드가 담당하여 가져오면, 여러 개의 이미지는 여러 개의 쓰래드가 필요합니다. 이때, 쓰래드 여래개를 처음에 한번 만들어 놓고 , 이 여러 쓰레드를 재사용합니다.
이렇게 재사용 할 수 있는 쓰레드를 여러 개 미리 만들어 놓고 사용하는 것을 Thread Pool 이라고합니다.
장점
단점
자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 가르킨다.
캐시는 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다.
앞에서, 네트워크로 무조건 계속 요청하는 것은 자원 낭비다.
따라서 이미요청했던 데이터는, 메모리나 디스크에 저장을 해 놓는다. 그래서 같은 데이터를 요청할때는, 네트워크를 가지 않고 먼저 메모리나 디스크에 저장되어 있는지 확인하여서,저장되어 있으면 그 데이터를 사용하고 그렇지 않으면 네트워크로 데이터를 요청해서 사용한다.
Chach는 아래와 같은 경우에 사용을 고려하면 좋다.
접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우 (서버의 균일한 API 데이터)
반복적으로 동일한 결과를 돌려주는 경우(이미지나 썸네일)
캐시는 개발자가 어디에 저장할지도 선택할수있고 , 캐시의 보관 기간도 정할수있고 캐시의 보관 양도 저장 할수있다.(알고리즘을 만드는 것)