inflearn logo
강의

Course

Instructor

Kevin's Easy RxJava Part 1

Reactive Operators Overview and Creation Operators

TimeUtil.sleep 관련 질문

Resolved

286

tastybread

56 asked

0

리액티브 연산자 개요 및 생성 연산자 강의에서 질문 있습니다.

TimeUtil.sleep 과 관련된 질문입니다.

이와 관련된 질문이 이미 있었고, 해당 답변도 봤는데요.

(Q&A 링크 : https://inf.run/TUZc )

뭔가 제가 알던 쓰레드 동작 방식과 차이가 있어서 재질문합니다.

이미 답변 주신 글에서는 "이유는 interval 연산자는 내부적으로 main 쓰레드가 아닌 Computation 쓰레드에서 실행이 되기 때문에 Observable.interval.. 코드가 실행이 되기도 전에 main 쓰레드가 종료되기 때문입니다." 라고 답변을 주셨는데요. 

그런데 제가 알기로는 main 쓰레드와 별개로 동작하는 쓰레드가 있으면 애플리케이션이 종료되지 않는 걸로 알고 있습니다.

예를 들어서 아래와 같은 간단한 코드를 실행하면 바로 알 수 있습니다.

public static void main(String[] args) {
    System.out.println("main Start!");

    Thread thread = new Thread(() -> {
        try {
            Thread.sleep(3000);
            System.out.println("wow");
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
    });
    thread.start();

    System.out.println("main end");
}

 

 

실행해보면 main 쓰레드와 관련된 동작은 모두 끝나도 3초가 지나야만 프로세스가 종료됩니다. 

혹시 답변에서 주셨던 Computation 쓰레드는 혹시 Daemon 쓰레드인가요? 아니면 제가 놓치는 부분이 있는 건가요??

 

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

Answer 1

1

Kevin

안녕하세요?

말씀하셨던것처럼 Comptutation 쓰레드는 Daemon 쓰레드입니다.

이와 관련해서는 아래 링크들을 확인하시면 될 것 같습니다.

https://localcoder.org/when-using-schedulers-system-out-println-prints-nothing-in-rxjava

https://github.com/ReactiveX/RxJava/issues/3062

 

이 전의 다른 답변에서 구체적으로 설명을 드리지 못했던 감이 있긴하네요. 

 

다른 궁금한 점이나 의견있으시면 또 글 남겨주시면 감사드릴게요.

감사합니다.

 

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

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

0

335

1

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

0

689

2

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

1

784

2

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

0

325

1

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

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