假設我們再次有這樣的事情:實現循環作業重複不超過每秒
while (true) {
val job = Future { doSomething(); 1 }
val timeout = Future { Thread.sleep(1000); 2 }
val both = for (j <- job; t <- timeout) {
println("Done")
}
Await.result(both)
}
,這是什麼使用RX-的java /斯卡拉慣用的解決方案?
更新:更多的澄清,如果不是明顯的代碼。
讓TS ñ和分別開始和doSomething()
工作末的TE ň是時間戳。
然後下一個作業應在TS n + 1個 = MAX被調度(TE Ñ,TS Ñ + 1秒)。
['debounce'(http://reactivex.io/documentation/operators/debounce.html)運營商做這件事情。 – 2015-03-19 08:31:09
所以你想安排新的工作,每次'doSomething()'完成後都要在1秒後運行? – 2015-03-20 09:01:02
@jubis我在上面添加了一些更多的說明 – Tair 2015-03-20 13:22:45