次の質問はUnityゲームエンジンに関するものですが、UIスレッドなどのメインスレッドにデータを送信しようとしているプログラムに関連している可能性があります。
別のスレッドでいくつかのデータを処理しています(データをソケットから非同期に読み取ります)。ただし、メインスレッドでこのデータを操作する必要があります(ゲームオブジェクトの変換にはメインスレッドからのみアクセスできます)。私が念頭に置いているアプローチは、スレッドセーフなキューを作成し、生産者/消費者パターンに従うことです。スレッドは位置データをキューに入れ、メインスレッドはデータをデキューしてそれに基づいて動作します。*注:Unityでは、System.Windows.Threading名前空間にアクセスできないため、Dispatcherを使用できません。また、.Net 3.5が必要なため、Collections.Concurrent名前空間も使用できません。
より良いアプローチはありますか?
ない場合、データがキューに入れられたときにメインスレッドに通知するための最良の方法は何ですか?投票するのは非効率的なようですが、私はそれを回避する方法を考えることができません。
前もって感謝します。