2016-09-16 5 views
2

호출자 스레드가 아닌 다른 스레드에서 두 개의 서로 다른 스트림을 구독 할 수 있습니까?동일한 스레드에서 여러 스트림 실행

나는 두 개의 서로 다른 관찰자와 두 명의 다른 가입자가 있다고 가정합니다. 그리고 나는 두 관찰 대상에 subscribeOn(Schedulers.newThread())라고 부릅니다. 하지만 두 개의 서로 다른 스레드가 아니라 같은 스레드에서 구독하기를 원합니다.

답변

3

예를 수행 할 수 있습니다

Scheduler scheduler = 
    Schedulers.from(Executors.newSingleThreadExecutor()); 

그런 다음 모두 관찰 가능한에 .subscribeOn(scheduler)을 적용합니다. 하나의 스트림이 다른 스트림을 차단할 수 있지만 이는 관찰 결과 및 구독자 요청 패턴에 따라 다릅니다.

1

간단히 말해서, 아니요. 시도 할 수있는 해킹이 있지만 문제가 될 수 있습니다. 여러 스레드를 사용하는 것이 가장 좋습니다.

+0

Dave Moten의 답변에 문제가 있습니까? – npace

관련 문제