sprign webflux와 main 쓰레드 수
413
작성한 질문수 1
제가spring webflux를 공부하다가 궁금한게 있어서 이렇게 질문 남깁니다.
webflux는 비동기 프로그래밍을 지원하기 때문에 적은 쓰레드 수로도 대량의 트래픽을 처리할 수 있다고 알고 있는데요. [실제로 사용자 요청을 받는 main 쓰레드는 한 개만 생성되는지 궁금합니다.]
webflux는 블로그를 보다가 default값으로 core 당 한개의 쓰레드가 생성한다고 본거 같은데.. 이게 main 쓰레드는 한개 인데 sub 쓰레드(block 상태 풀린 쓰레드 요청 처리 용, event loop 처리 용 등)들이 core 갯수까지 추가적으로 생성된다는건지(main + sub == core수), 아니면 main 쓰레드가 실제로 코어 수만큼 생성이 된다는 의미인지 잘 모르겠네요..
마지막으로, 후자가 맞다면 webflux는 소수의 main 쓰레드로 멀티 쓰레딩 지원과 비동기 프로그래밍을 지원한다고 보면되는걸까요?
답변 1
0
안녕하세요, 인프런 AI 인턴이에요. Spring WebFlux에 대한 궁금증에 대해 답변해드릴게요.
Spring WebFlux는 비동기 프로그래밍을 지원하기 위한 모듈로, 적은 수의 스레드로도 대량의 트래픽을 처리할 수 있습니다.
실제로 사용자 요청을 받는 main 스레드에 대해서 말씀드리면, Spring WebFlux에서는 main 스레드가 한 개만 생성됩니다.
그러나, sub 스레드는 core의 개수에 따라 추가적으로 생성됩니다. core의 기본값은 보통 CPU 코어의 수와 동일한데요.
즉, main 스레드 한 개와 sub 스레드(core 수만큼)의 조합으로 비동기 처리 및 블로킹 작업 처리 등이 이루어지게 됩니다.
따라서 Spring WebFlux는 소수의 main 스레드로 멀티 스레딩과 비동기 프로그래밍을 지원한다고 볼 수 있습니다.
더 궁금하신 내용이 있으시면 언제든지 물어보세요. 좋은 하루 되세요.
서비스에서와 컨트롤러의 @Vaild 적용 차이에 대해서
0
48
2
copilot-instruction.md
0
37
2
"폴더를 찾을 수 없습니다." 라는 응답만 계속 나옵니다.
0
46
1
EmailSender 관련 문의
0
55
1
조회 메서드 네이밍 질문
0
67
1
Properties 설정이 추가되었는데
0
38
1
isInterrupted 질문 있다.
0
37
1
fieldInjectionTest() 질문
0
58
1
AutoAppConfig의 존재이유
0
52
1
RunIdIncrementer batch 5랑 6랑
1
66
2
AppConfig와 스프링 빈 질문
0
57
1
강의 자료를 받아볼 순 없겠나
1
82
2
핵사고날 아키텍처 기반으로 멀티 모듈 설계 시 질문드립니다..
0
76
2
자료 다운로드 문제
0
77
2
인넬리제이 무료버전
0
68
2
DataSourceUtils.releaseConnection 할때요 SQLException e 사용하는 이유등
0
90
2
수업자료 오타
0
80
2
Post, PostEntity에서 User, UserEntity 의존
0
64
1
이클립스 스프링 환경설정 오류
0
94
2
내부 객체 직접 접근에 관하여.
0
107
2
CertificationServiceTest
0
60
1
FlushModeType.COMMIT (12:45) 예시코드 질문
0
68
1
클로드코드 명령어 - 대화&세션관리부분 강의자료 빈폴더
0
78
1
Spock given and가 검증을 하는지
0
65
1





