Unityでスレッドを使ってみるテスト。 アプリやゲームを作っているとほぼ100%ぶつかる問題、重たい同期処理(ブロッキング処理)。 1フレームに掛かる処理が重たいと画面が引きつったように見えたり、入力の反応が無くなったりと 何かとデメリットばかりである。 世に出ている軽快なアプリはそれらを無くすためにおそらく様々な努力がなされている。 その1つとして、同期処理の非同期化はまず欠かせない。 というわけでUnityで非同期処理をしたくなったら、まず2つの手段がある。 コルーチンとスレッドだ。 この2つは同じようで実は全然違う。 各々の特徴を簡潔にまとめてみた。 コルーチン ・メインスレッドで処理される →なのでyieldで分けて処理を分散しても、その1つ1つの処理自体が重いと全体に影響する ・IEnumerator型の戻り値のメソッドである必要がある ・UnityのAPIが使える スレッド