Wie kann ein Observable angehalten werden, ohne die ausgestrahlten Objekte zu verlieren?

Ich habe einObservable das jede Sekunde ein Häkchen abgibt:

Observable.interval(0, 1, TimeUnit.SECONDS)
    .take(durationInSeconds + 1));

Ich möchte dieses Observable anhalten, damit es keine Zahlen mehr ausgibt, und es bei Bedarf fortsetzen.

Es gibt einige Fallstricke:

laut demObservable Javadoc,interval Operator unterstützt keinen Gegendruckas RxJava-Wiki über Gegendruck hat einen Abschnitt überallstack-Blockierung als Durchflussregelungsalternative zum Gegendru:

Eine andere Möglichkeit, mit einem überproduktiven Observable umzugehen, besteht darin, den Callstack zu blockieren (den Thread zu parken, der das überproduktive Observable regelt). Dies hat den Nachteil, dass es dem „reaktiven“ und nicht blockierenden Modell von Rx widerspricht. Dies kann jedoch eine praktikable Option sein, wenn sich das problematische Observable auf einem Thread befindet, der sicher blockiert werden kann. Derzeit macht RxJava keine Operatoren verfügbar, um dies zu vereinfachen.

Gibt es eine Möglichkeit, ein @ anzuhalteinterval Beobachtbar? Oder sollte ich mein eigenes 'ticking' implementieren, das mit etwas Gegendruckunterstützung beobachtbar ist?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage