Hi yoahn 개발블로그

자바 9의 FLOW API 본문

프로그래밍 언어/Java

자바 9의 FLOW API

hi._.0seon 2024. 11. 16. 23:21
반응형
리액티브 프로그래밍 지원을 위한 주요 API 들이 추가되었다.

 

리액티브 프로그래밍이란?

응답이 빠르고, 탄력성과 회복성이 좋으며, 메시지 기반으로 통신하는 비동기 non-blocking 방식의 프로그래밍

 

Reactive Streams

- 구성 인터페이스: Publisher / Subscription / Subscriber

(Processor - Subscriber 와 Publisher 역할 모두 수행)

Publisher

subscribe(Subscriber subscriber)

- 구독 요청

- subscriber 에게 onSubscribe(subscription) 을 통해 subscription 을 전달해줌

Subscriber

onSubscribe(Subscription subscription)

- 구독

onNext(T item)

- Subscriber 가 구독한 이후 onNext(item) 함수를 통해 데이터 전달받음

 

Subscription

request(long n)

- 해당 함수가 호출되면 subscriber.onNext("coffee") 가 호출되어야 한다. (subscriber 에게 데이터 전달)

- subscriber.onNext() 를 호출 -> Subscriber 에게 데이터를 전달할 수 있어야 하기 때문에 Subscriber 를 가지고 있어야 함

- Subscriber.request(n) 함수를 부른 스레드와 request(n) 함수 로직 스레드가 일치하기 때문에, 해당 스레드를 sleep 하면 blocking -> 해당 스레드가 다른 일을 하지 못하게 됨

 

반응형

'프로그래밍 언어 > Java' 카테고리의 다른 글

자바 9에서 추가된 기능들  (0) 2024.10.09
Comments