我想通過反覆發射隨機數來模擬測量數據。我試着用反應堆做到這一點,但它不會產生任何輸出:如何使用Reactor創建隨機數生成器?
private static Random random = new Random();
public static void main(String[] args) throws InterruptedException {
Flux<Double> doubleGenerator = Flux.generate(
() -> random.nextDouble(),
(ignored, sink) -> {
sink.next(random.nextDouble());
return 0.0;
});
Flux<Long> timer = Flux.intervalMillis(1000);
Flux.combineLatest(doubleGenerator, timer, (value, ignored) -> value)
.subscribe(System.out::println);
}
如何創建與反應堆冷卻隨機值流?
「但它不起作用」 - >請描述它如何不起作用。你預期會發生什麼以及發生了什麼。 –
你說得對。在這種情況下,我看不到任何輸出,程序似乎無限運行。 – deamon
嘗試在調用'combineLatest'時切換'doubleGenerator'和'timer'的順序,並在其後添加一個Thread.sleep以停止虛擬機終止,並得到一些結果 - 但它仍然不是你想要的。 –