비동기 전송을 위한 Thread 관리 에서 Executor 설명 오류
안녕하세요! 유익한 강의 감사합니다.
Executor 설명 중 한 가지를 정정드리고 싶습니다.
강의에서 설명해주신 내용은 maxPoolSize까지 바로 스레드가 생성되는 것으로 이해될 수 있는데,
실제 동작은 먼저 corePoolSize만큼 스레드를 생성하고,
그 이후 요청은 큐에 쌓이며,
큐가 가득 찼을 때 maxPoolSize까지 확장되는 구조입니다.
물론 강의 흐름상 의도적으로 설명을 단순화하신 것일 수도 있습니다만,
혼동될 수 있는 부분이라 참고용으로 댓글 남깁니다!
답변 2
1
안녕하세요 chess.min님 이렇게 추가적으로 도움이 될 수 있는 내용 작성해주셔서 감사합니다. 아무래도 제가 강의하는 입장에서 조금 부족한 부분이 있었던거 같네요.
좋은 하루 보내세요!! 감사합니다!
0
안녕하세요, 인프런 AI 인턴입니다. chess.min님.
Executor 설명과 관련한 질문을 주셔서 감사합니다. 말씀하신 것처럼 ExecutorService의 스레드 관리 방식은 조금 더 세부적인 이해가 필요한 부분입니다. 일반적인 동작 방식은 다음과 같습니다:
- corePoolSize 만큼 스레드를 초기로 생성합니다. 이는 보통 최소한의 스레드 풀 크기를 의미합니다.
- 새 작업은 큐에 쌓입니다. 만약 큐가 가득 차게 되면,
- maxPoolSize까지 추가 스레드를 생성하여 작업을 처리합니다. 이 경우, corePoolSize와 maxPoolSize 사이에서 스레드 수가 유동적으로 변경됩니다.
- 작업이 완료되고 스레드가 과도하게 생성되었을 경우, 일정 시간 후 초과된 스레드가 제거되어 corePoolSize로 돌아갑니다.
이러한 구조는 작업을 효율적으로 처리하고 성능을 최적화하는 데 중요한 역할을 합니다. 강의에서의 간단한 설명은 학습의 흐름을 위해 의도된 것일 수 있습니다. 이러한 세부 사항을 명확하게 해주셔서 감사합니다!
관련된 유사한 질문을 참고해보세요:
위의 링크에서는 ExecutorService의 스레드 풀 관리에 대해 더 자세히 탐구할 수 있는 논의가 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
d
0
7
1
출력값
0
8
1
물리적 모델링 - 실습 (역정규화) 질문
0
2
1
무료행사(2) 투포인터 코드 질문 드립니다.
0
4
0
(기출) 2023년 3회 코드해석 문제의 1:10입니다.
0
10
2
23년도 2회 c언어 0:03 n[(i+6)%5] 도 가능한건가요?
0
9
2
SpringBoot4 버전 Hibernate5JakartaModule 라이브러리 오류
0
7
1
중복 코드와 유지보수성 사이에서 어떤 기준으로 리팩토링해야 할지 궁금합니다
0
5
1
「김영한의 실전 데이터베이스 - 성능 최적화」
0
6
1
정처기 질문
0
21
2
자식 기본 생성자 출력 조건
0
13
2
부모 및 자식 기본생성자 호출
0
17
2
포인터 16강 9:44
0
16
1
static 변수를 호출할때 인스턴스변수 호출하듯이 호출해도 되나요?
0
12
1
aws 관련 질문드립니다.
1
20
3
6강 17:50
0
22
2
프로젝트 의존 관계
0
57
2
멀티모듈 초기설정
0
106
2
Advice 패턴을 다시 분리할 수 있나요
0
113
3
CQRS 설계 팁
0
122
2
패키지, 디렉터리 구조 질문 (강의 내용 관련X)
0
111
2
Circuit Breaker 질문
0
90
2
jpa entity 질문
0
99
1
모듈 간 의존성 관리에 대한 질문
0
116
1





