0

「Game Of Life」の並列バージョンを実装しようとしています。

この並列バージョンは、ゲームのボードを領域に分割します。各領域は、この領域の次の状態を計算し、後で状態の更新を行う単一のスレッドによって管理されます。

ここで私が直面している制約の 1 つは、「各スレッドはそれ自身の領域セルにのみアクセスできます。他のすべての情報は、他のメモリによって隣接するスレッドから伝達される必要があります」という事実です。

したがって、私がこれを理解する方法は、あるスレッドがその領域外のセルからのみ読み取ろうとしても、このセルを実行している特定のスレッドからこの状態を何らかの形で要求する必要があるということです。

このタスクにはプロデューサー/コンシューマー ソリューションを検討することをお勧めします。そのため、ステート リクエストがキューに入れられる public static Produce/Consumer キューの使用を検討しましたが、その他の関連する問題が明確ではありません。

  • スレッドAが現在ジョブを実行している場合、その作業を停止し、スレッドBに情報要求を渡し、その後前のジョブを再開するように依頼するにはどうすればよいですか? それは可能ですか?

  • このキューを担当するスレッドはどれですか? 通常のリージョンスレッドと並行してキューを管理する独自のスレッド? 私はわかりません。

4

1 に答える 1