Schedulers.single()
-
SchedulerSpring Reactive Web Application/Project Reactor 2023. 7. 25. 03:00
Reactor에서 사용되는 Scheduler는 Reactor Sequence에서 사용되는 스레드를 관리해 주는 관리자 역할을 합니다. 일반적으로 Java 프로그래밍에서 멀티스레드를 완벽하게 제어하는 것은 쉬운 일이 아닙니다. 스레드 간의 경쟁 조건(Rece Condition) 등을 신중하게 고려해서 코드를 작성해야 하는데, 이로 인해 코드의 복잡도가 높아지고 결과적으로 예상치 못한 오류가 발생할 가능성이 높습니다. Reactor에서는 Scheduler가 스레드의 제어를 대신해 주기 때문에 이러한 문제를 최소화 할 수 있습니다. Note. 스레드의 개념 CPU의 코어는 물리적인 스레드를 의미하며, 이 물리적인 스레드는 논리적인 코어라고도 부릅니다. 논리적인 스레드는 소프트웨어적으로 생성되는 스레드를 의미합..
-
스케쥴러(Scheduler)BackEnd/RxJava 2023. 7. 15. 05:00
스케쥴러(Scheduler) RxJava에서의 스케쥴러는 RxJava 비동기 프로그래밍을 위한 쓰레드(Thread) 관리자입니다. 즉, 스케쥴러를 이용해서 어떤 쓰레드에서 무엇을 처리할 지에 대해 제어할 수 있습니다. 스케쥴러를 이용해서 데이터를 통지하는 쪽과 데이터를 처리하는 쪽 쓰레드를 별도로 지정해서 분리할 수 있습니다. RxJava의 스케쥴러를 통해 쓰레드를 위한 코드의 간결성 및 쓰레드 관리의 복잡함을 줄일 수 있습니다. RxJava에서 스케쥴러를 지정하기 위해서 subscribeOn(), observeOn() 유틸리티 연산자를 사용합니다. 생산자쪽의 데이터 흐름을 제어하기 위해서는 subscribeOn() 연산자를 사용하고, 소비자쪽에서 전달받은 데이터 처리를 제어하기 위해서는 observeO..