UnityUniRxで処理するスレッドを操作する方法をまとめました。Schedulerが指定できるFactoryメソッドStartとToAsyncはスレッドプールのSchedulerが使われるObservable.CreateとSubscribeOnストリームの途中で処理するスレッドを切り替えるObserveOn関連unity2019.2.5Schedulerが指定できるFactoryメソッドまず、一部のObservableは生成するときに引数としてSchedulerというものが指定できます。このSchedulerは処理するスレッドを定義するもので、例えば以下のように書けばメインスレッドで処理できます。}}このSchedulerを以下のように書き換えれば、メインスレッド以外で処理を行うことができます。}}このように、ファクトリメソッドの引数にSchedulerを持つObservableは処理するスレッドを制御できます。StartとToAsyncはスレッドプールのSchedulerが使われるObservableのファクトリメソッドに、Start()やToAsync()といったものがあります。これらはサブスレッドでの非同期処理を簡単に書くためのファクトリメソッドです。仕組みとしては内部的にスケジューラとして前述のScheduler.ThreadPoolが指定されています。そのため下記のように書くだけで簡単に非同期処理が実現できます。}}Observable.CreateとSubscribeOnObservable.Create()とSubscribeOn()を組み合わせると指定したスレッドで処理を行うObservableが作れます。}}ストリームの途中で処理するスレッドを切り替えるObserveOnObserveOn()を使うと、ストリームの途中で処理するスレッドを切り替えることができます。1はてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。