inflearn logo
강의

Course

Instructor

Kevin's Easy RxJava Part 1

What is Reactive Streams?

첫번째 강의 부터 이번강의까지 수강하면서 궁금한점 질문드립니다.

325

godjangkook

24 asked

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
안녕하세요. 강사님 Spring Webflux가 앞으로 대세로 많이 사용될 것 같은 생각이 들어서 RxJava를 수강하면서 강의를 잘 듣고 있습니다.
 
현재까지 강의 들으면서 궁금한점이 있어서 질문드리는데요, 첫번째 강의에서 사용한 코드는 main() 메서드 마지막에 Thread.sleep()이 없으면 별도의 쓰레드에 의해 코드가 실행되면서 결과값을 볼 수가 없었는데
 
지금은 main()메서드 마지막에 Thread.sleep()을 안주어도 되는 것 별도의 쓰레드풀을 코드에서 사용하지 않고 메인쓰레드에서 결과값이 나오는 걸 확인할 수 있었습니다.
 
그렇다고 하면 RxJava 프로그래밍도 subscribeOn이나 observeOn에 쓰레드풀 지정여부에 따라서 동기, 비동기로 실행되는 것인지요?

함수형-프로그래밍 RxJava Reactive-Streams Reactive Programming

Answer 1

1

Kevin

안녕하세요?

질문에 답변을 제대로 드리고 싶은데 질문하신 부분 중에 제가 이해를 잘 못하고 있는 부분이 있어서 다시 질문도 드려보고 우선 질문자님이 질문하신 내용 중에 답을 할 수 있는 부분 역시 답을 해보도록 하겠습니다.

 

"첫번째 강의에서 사용한 코드는 main() 메서드 마지막에 Thread.sleep()이 없으면 별도의 쓰레드에 의해 코드가 실행되면서 결과값을 볼 수가 없었는데..."

---> 여기서 첫번째 강의는 1부 강의를 말씀하시는건지 궁금합니다.

 

"지금은 main()메서드 마지막에 Thread.sleep()을 안주어도 되는 것 별도의 쓰레드풀을 코드에서 사용하지 않고 메인쓰레드에서 결과값이 나오는 걸 확인할 수 있었습니다."

---> 지금은 이라는것이 1부, 2부 중 어느 강의이고 어느 섹션, 어떤 수업의 예제 코드인지를 알려주시면 답변 드리기 더 용이할 것 같습니다.

---> 말씀하시는 것을 보면 Thread.sleep()으로 지연 시간을 주지않아도 결과 값이 나온다는 것은 main 쓰레드 하나만 실행되는 것으로 판단이 되긴합니다.

 

"그렇다고 하면 RxJava 프로그래밍도 subscribeOn이나 observeOn에 쓰레드풀 지정여부에 따라서 동기, 비동기로 실행되는 것인지요?"

---> Spring WebFlux에서 사용되는 Reactor의 경우에도 publishOn과 subscribeOn Operator를 통해서 Scheduler를 지정하여 쓰레드를 추가적으로 실행을 할 수 있는데, 말씀하신것처럼 RxJava 역시 observeOn과 subscribeOn을 통해서 main 쓰레드 이외의 별도의 쓰레드를 추가해줄 수 있습니다. 리액티브 프로그래밍은 비동기 프로그래밍이 주목적인데, 강의 설명상 main 쓰레드 하나만 사용한 부분도 많다는 것을 참고해주시면 감사드릴게요.

---> Scheduler 관련해서는 2부 강의의 [섹션 1. 스케쥴러]에서 상세히 설명을 하고 있습니다.

 

질문자님의 질문 자체를 제가 이해를 잘 못해서 죄송하구요.

조금 더 자세히 설명을 해주시면 그에 맞게 추가 답변을 드리도록 하겠습니다.

감사합니다.

0

godjangkook

제가 질문을 애매하게 했네요 하지만 원하는 답을 얻었습니다 감사합니다

0

Kevin

네, 다른 궁금한 점 있으시면 언제든지 편하게 질문주세요.

감사합니다.

Single과 관련해 여쭤보고 싶은 부분이 있습니다!

0

264

2

cold/hot publisher 예제 코드와 관련해 질문 드립니다.

0

363

1

CompletableObserver 클래스의 람다식 표현관련

0

297

1

1강에 예시로 보여주신 ToDoSample 코드에 관해 질문 드립니다!

0

356

1

데이터 결합 연산자 / merge 관련 질문

0

445

1

DROP 배압 전략에 관한 궁금증

0

300

2

map에서의 TimeUtil.sleep에 관한 궁금점

0

216

1

강의 내용을 정리해서 개인 블로그에 올려도 될까요?

0

562

2

TimeUtil.sleep 관련 질문

0

286

1

배압 전략 중에서 DROP 전략과 관련해서 질문 있습니다.

0

335

1

Error 발생 시에도 계속 처리 방법

0

689

2

선언형 프로그래밍과 명령형 프로그래밍

1

784

2

안녕하세요. 질문이 있습니다.

1

354

1

logger 가 없는데 util 폴더도 같이 갖다놔야 하나요?

0

327

1

amb 연산자

0

233

1

질문 드립니다.

0

219

1

concatEager( ) 연산자에 관하여

0

318

1

Reactive Streams의 구성요소들과 RxJava의 구성요소들의 관계?

1

397

2

ObservableSequenceEqualExample.java 예제의 delay( ) 연산자 질문있습니다

0

309

3

defer( ), fromFuture( )도 just( )처럼 여러 인자 값을 받을 수 있는지 궁금합니다.

0

264

3

flatMapSingle() 메소드에 대하여

0

620

6

fromFuture() vs fromCallable() 생성 연산자에 대해

0

573

2

함수형 인터페이스 Comparator에 대해

0

397

2

Publisher와 Subscriber 간의 프로세스 흐름에 대한 질문

1

340

3