인프런 커뮤니티 질문&답변

chaelynjang님의 프로필 이미지

작성한 질문수

Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부

Scheduler의 종류

boundedElastic 관련 질문

작성

·

54

1

안녕하세요 강사님 좋은 강의 감사드립니다.

해당 영상에서 Schedulers.boundedElastic() 이 아닌, newBoundedElastic() 예제를 보여주셨습니다.

newBoundedElastic 예제는 어느정도 이해가 되었는데 boundedElastic() 실행 결과가 궁금하여 예제에서의 newBoundedElastic()을 boundedElastic() 으로 바꿔 실행해봤습니다.

실행결과가 첨부한 사진처럼 나오던데 스레드 풀에 있던 스레드 6개가 사용된 것으로 보면 될까요?

확인해주시고 답변 주시면 감사드리겠습니다 !

image.png

답변 1

1

Kevin님의 프로필 이미지
Kevin
지식공유자

안녕하세요. boundedElastic()을 사용했을 때의 Thread에 대해서 질문 주셨는데요.

제가 아래 첨부한 공식 문서 설명에서 이해한 바로는 (3)과 같이 Thread Pool을 사용하는건 맞는데, Pool에 미리 만들어두고 사용된다기 보다는 일단 Thread 사용 시점이 되면 그 시점에 Thread를 생성해서 제공한 후에 다 쓰면 Pool에 반납을 합니다. 그리고 나서 재사용을 할테구요.

그리고 일반적으로 동시에 실행될 수 있는 Thread 개수는 CPU 코어의 10배라고 (2)에 명시되어 있습니다.

참고로 Reactor 3.6.0 부터는 Virtual Thread도 사용할 수 있다고 (1)에 명시되어 있네요.
질문 주신거에 답변이 되셨으면 좋겠습니다.

감사합니다.

K-016.png

 

chaelynjang님의 프로필 이미지
chaelynjang
질문자

유용한 정보와 빠른 답변 감사합니다 🙂 !