블로킹 작업을 비동기적으로 수행하고 싶을 때, Mono.fromCallable은 subscribeOn 메소드와 함께 사용하여 블로킹 작업을 별도의 스레드에서 실행할 수 있습니다.
Schedulers.elastic() 과 Schedulers.boundedElastic() 은 블로킹 IO 태스크와 같은 생명주기가 긴 태스크들에 적합하다. elastic 은 요청 할때마다 제한 없이 스레드를 생성한다. 최근에 도입된 boundedElastic 은 같은 기능을 하지만 스레드 수가 제한된다.
Mono.fromCallable(() -> blockingCall())
.subscribeOn(Schedulers.boundedElastic())
댓글
댓글 쓰기