비동기 전송을 위한 Thread 관리 에서 Executor 설명 오류
안녕하세요! 유익한 강의 감사합니다.
Executor 설명 중 한 가지를 정정드리고 싶습니다.
강의에서 설명해주신 내용은 maxPoolSize까지 바로 스레드가 생성되는 것으로 이해될 수 있는데,
실제 동작은 먼저 corePoolSize만큼 스레드를 생성하고,
그 이후 요청은 큐에 쌓이며,
큐가 가득 찼을 때 maxPoolSize까지 확장되는 구조입니다.
물론 강의 흐름상 의도적으로 설명을 단순화하신 것일 수도 있습니다만,
혼동될 수 있는 부분이라 참고용으로 댓글 남깁니다!
답변 2
1
안녕하세요 chess.min님 이렇게 추가적으로 도움이 될 수 있는 내용 작성해주셔서 감사합니다. 아무래도 제가 강의하는 입장에서 조금 부족한 부분이 있었던거 같네요.
좋은 하루 보내세요!! 감사합니다!
0
안녕하세요, 인프런 AI 인턴입니다. chess.min님.
Executor 설명과 관련한 질문을 주셔서 감사합니다. 말씀하신 것처럼 ExecutorService의 스레드 관리 방식은 조금 더 세부적인 이해가 필요한 부분입니다. 일반적인 동작 방식은 다음과 같습니다:
- corePoolSize 만큼 스레드를 초기로 생성합니다. 이는 보통 최소한의 스레드 풀 크기를 의미합니다.
- 새 작업은 큐에 쌓입니다. 만약 큐가 가득 차게 되면,
- maxPoolSize까지 추가 스레드를 생성하여 작업을 처리합니다. 이 경우, corePoolSize와 maxPoolSize 사이에서 스레드 수가 유동적으로 변경됩니다.
- 작업이 완료되고 스레드가 과도하게 생성되었을 경우, 일정 시간 후 초과된 스레드가 제거되어 corePoolSize로 돌아갑니다.
이러한 구조는 작업을 효율적으로 처리하고 성능을 최적화하는 데 중요한 역할을 합니다. 강의에서의 간단한 설명은 학습의 흐름을 위해 의도된 것일 수 있습니다. 이러한 세부 사항을 명확하게 해주셔서 감사합니다!
관련된 유사한 질문을 참고해보세요:
위의 링크에서는 ExecutorService의 스레드 풀 관리에 대해 더 자세히 탐구할 수 있는 논의가 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
application.properties가 적용되지 않아요
0
5
1
새 프로젝트 속 제너레이터에 SpringBoot가 없습니다.
0
4
1
질문있습니다.
1
10
2
'디스패처(Dispatcher)' 훅 패턴 적용이 다 안되
0
16
1
usecase 사용 기준
0
18
0
실습용 테이블, 데이터 생성 파일 있을까요?
1
20
2
android crud중 c 영상이 12초만 있는 잘린 영상이에요.
0
25
2
강사님.. 하단 URL에 있었던 코드들 다운 받거나 공유 부탁 드립니다..
0
19
2
섹션3. 11 회원객체 다이어그램
0
22
1
OCP, DIP과 @Qualifier 어노테이션에 대해서 질문합니다.
0
24
1
강의 연장 요청
0
25
2
노션 접근권
0
26
1
설정 정보 없이 임베디드 데이터베이스 생성
0
22
1
@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.
0
27
1
형 이번에 낸 책이랑 강의 내용에 차이가 있어?
1
44
1
형 나 몰래 책내면 모를 줄 알고?
1
36
1
OrderServiceTest 상문주문 테스트 시 update 쿼리 문의
0
24
1
멀티모듈 초기설정
0
89
2
Advice 패턴을 다시 분리할 수 있나요
0
91
3
CQRS 설계 팁
0
101
2
패키지, 디렉터리 구조 질문 (강의 내용 관련X)
0
87
2
Circuit Breaker 질문
0
69
2
jpa entity 질문
0
84
1
모듈 간 의존성 관리에 대한 질문
0
98
1





