호출자 스레드가 아닌 다른 스레드에서 두 개의 서로 다른 스트림을 구독 할 수 있습니까?동일한 스레드에서 여러 스트림 실행
나는 두 개의 서로 다른 관찰자와 두 명의 다른 가입자가 있다고 가정합니다. 그리고 나는 두 관찰 대상에 subscribeOn(Schedulers.newThread())
라고 부릅니다. 하지만 두 개의 서로 다른 스레드가 아니라 같은 스레드에서 구독하기를 원합니다.
호출자 스레드가 아닌 다른 스레드에서 두 개의 서로 다른 스트림을 구독 할 수 있습니까?동일한 스레드에서 여러 스트림 실행
나는 두 개의 서로 다른 관찰자와 두 명의 다른 가입자가 있다고 가정합니다. 그리고 나는 두 관찰 대상에 subscribeOn(Schedulers.newThread())
라고 부릅니다. 하지만 두 개의 서로 다른 스레드가 아니라 같은 스레드에서 구독하기를 원합니다.
예를 수행 할 수 있습니다
이Scheduler scheduler =
Schedulers.from(Executors.newSingleThreadExecutor());
그런 다음 모두 관찰 가능한에 .subscribeOn(scheduler)
을 적용합니다. 하나의 스트림이 다른 스트림을 차단할 수 있지만 이는 관찰 결과 및 구독자 요청 패턴에 따라 다릅니다.
간단히 말해서, 아니요. 시도 할 수있는 해킹이 있지만 문제가 될 수 있습니다. 여러 스레드를 사용하는 것이 가장 좋습니다.
Dave Moten의 답변에 문제가 있습니까? – npace