soramame さんより寄せられましたタスクシステムに応用しやすい技術ですが、いろいろ調べてみたところやはり面白そうです。
一番良かったのがノンプリエンプティブという点です。前回紹介したスレッドのように動作するタスクシステムは、当初、自分のことだけを考えてコードを組める予定だったのですが、同期のために wait() 関数をたくさん仕込む必要が出てきました(しかもこの wait() というのが単純に時間で待つタイプだったので、他のタスクが1ステップ進んでいるかの保証がないという…)。これだとゲームループを1順させやすい分、コルーチンの方が使いやすそうです。
どうやら Gems に熱く書いてあるそうですよ。 Gems 読んでみたいですね、非常に高価ですが。
Contributions