1
1秒間隔後に1つのアイテムを放出するタイマーがあるとします。観測値から最新の値を得る方法
私はそれを購読して10秒間実行したいと思います。 10秒後に私はそれから退会し、コードの他の部分からの最後のemmited値にアクセスできるようにしたい。コードのohter一部から最後emited値を取得する方法はあり
@Test
fun testMeasuretime(){
val emitter = Observable.interval(1, TimeUnit.SECONDS)
.doOnNext{t: Long? -> Log.v("emitter", t.toString())}
val disposable = emitter.subscribe()
Thread.sleep(10000)
disposable.dispose()
Thread.sleep(5000)
//get the last emited value
Thread.sleep(5000)
}
:ここ は、サンプルコードですか? 私は、このソリューションを使用して、あるタスクの実行時間を測定したいと考えています。
:
より良いアプローチは(私がKotlinを知らないので、Javaで書かれた)のようなものでしょうか?なぜ、測定の開始時と終了時に 'System.currentTimeMillis()'を使用しないのですか? – akarnokd
これは、測定を開始した関数と同じスコープではありません。他のスレッドやコールバックにもあります。しかし、これはあなたが提案していることを示唆しているかもしれません。 – Konrad
値を保存するには別の変数/フィールドが必要です。 –