이번 포스트에서는 스레드 폭증에 따른 애플리케이션 성능 저하를 막기 위한 스레드 풀에 대해 살펴보자. 스레드 풀 스레드 풀(Thread Pool)본격적으로 멀티 스레드르 사용하다 보면 많은 스레드의 생성/소멸에 따라 메모리 사용이 늘어나고 스케줄링 관리 등 해야할 일들이 많다보니 CPU도 바빠지는 등 애플리케이션 성능에 악영향을 끼치게 된다. 이럴 때 스레드를 한번 쓰고 버리는 것이 아니고 재사용할 수 있다면 어떨까? 이를 위해 스레드 풀이라는 개념이 사용된다.기존에는 Thread와 스레드에서 처리할 작업(Runnable)을 하나로 만들었다면 스레드 풀에서는 둘이 분리되서 관리된다. 스레드 풀은 미리 만들어서 재사용하는 N개의 스레드와 스레드에서 처리할 작업 큐로 구성된다.원하는 개수만큼의 스레드를..
[Thread] 05. 스레드 풀
이번 포스트에서는 스레드 폭증에 따른 애플리케이션 성능 저하를 막기 위한 스레드 풀에 대해 살펴보자. 스레드 풀 스레드 풀(Thread Pool)본격적으로 멀티 스레드르 사용하다 보면 많은 스레드의 생성/소멸에 따라 메모리 사용이 늘어나고 스케줄링 관리 등 해야할 일들이 많다보니 CPU도 바빠지는 등 애플리케이션 성능에 악영향을 끼치게 된다. 이럴 때 스레드를 한번 쓰고 버리는 것이 아니고 재사용할 수 있다면 어떨까? 이를 위해 스레드 풀이라는 개념이 사용된다.기존에는 Thread와 스레드에서 처리할 작업(Runnable)을 하나로 만들었다면 스레드 풀에서는 둘이 분리되서 관리된다. 스레드 풀은 미리 만들어서 재사용하는 N개의 스레드와 스레드에서 처리할 작업 큐로 구성된다.원하는 개수만큼의 스레드를..
2024.07.07