← 질문 목록
#167깊이 0

스레드 풀을 사용하는 주된 이유는 무엇인가?

운영체제기초동시성

스레드 생성과 제거에 드는 오버헤드를 줄이기 위해서다. 요청마다 스레드를 새로 만들면 커널 모드 전환과 메모리 할당 비용이 반복적으로 발생한다.

  • 유휴

    • 실행

      작업 큐에 쌓인 요청을 가져간다

  • 실행

    • 유휴 (앞의 상태로 돌아갑니다)

      처리가 끝나면 소멸하지 않고 풀로 돌아간다

작업 큐에 요청이 들어오면 풀에 있는 유휴 스레드가 이를 가져가 처리한다. 처리가 끝나면 스레드는 소멸하지 않고 다시 풀로 돌아가 다음 작업을 기다린다.

적절한 풀 크기를 설정하지 않으면 문제가 생긴다. 너무 작으면 요청이 큐에 쌓여 응답 시간이 느려지고, 너무 크면 컨텍스트 스위칭 비용이 커져 전체 처리량이 떨어진다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

스레드 풀을 사용하는 주된 이유는 무엇인가?