反応性の拡張機能は、スケジューラと呼ばれるものを提供します。それらは、ストリームが、それらが生成するか、またはアイテムを観察するスレッドを変更するようにストリームに指示する。 subscribeOn
オペレータを通じて設定することができます。プロデューサはそのストリームを変更して、プロデューサがそのアイテムを発行する(つまり、サブスクライバでonNext
メソッドを呼び出す)か、observeOn
というオペレータによって指定されたスケジューラでの監視作業をスケジュールするようストリームに指示します。
getSomeObservable() // Observable does its work on computation scheduler
.observeOn(Schedulers.io()) // instructs to switch every afterwards operator to observe items on io scheduler
.map(...) // this callback is called on a thread provided by io scheduler
.filter(...) // and this as well
.observeOn(Schedulers.newThread()) // switch to new thread scheduler
.doOnNext() // new thread
.subscribeOn(Schedulers.computation()) // instructs to produce items on computational scheduler
.subscribe(...) // still scheduling this task to new thread scheduler
は通常、RXのためのサポートのいくつかのレベルのフレームワークUIスレッド上で作業を行い、いくつかのスケジューラの実装を持っている...例えばAndroidのは、あなたの中で、あなたが探している正確に何であるAndroidSchedulers.mainThread()
を提供するライブラリを持っていますフレームワーク
UIの基本的な設計は、処理を行うバックグラウンドスレッドを持つことです。UIスレッドはアップデートを受け取ります。 – efekctive
テクノロジに関する詳細情報:Swingアプリケーションですか? javafx?またはアンドロイド? –
おそらくJavaFXが使用されます。 –