3

私は(仮想)競争力のある自動テトリスプレーヤーに取り組んでいます。

ゲームは競争が激しいので、当然、テトリスプレイヤーにはできるだけ多くのキーを同時に押してもらいたいと思います。私が思いついた解決策は、各種類のキー押下にスレッドを割り当てることです(つまり、同じキーが2つ送信された場合、同じスレッド上にあるため、遅延が発生します。ただし、2つの別々のキーが送信された場合、それらのスレッドも別々に実行されるため、両方のキーが同時に押されます)。

しかし、マルチスレッドのために、java.awt.Robotがスレッドセーフではないことを心配しています(そして、googles / SO検索では主題に関する情報が得られません)。使用しているRobotオブジェクトにロックを作成しないようにしたい-そうすると、システム全体が無意味になります(同時に複数のキーが押されることはないため、それぞれが次々に表示されます) 。

1つの可能性は、複数のロボットを同時に使用することです(スレッドごとに1つ)が、それらが単に互いに競合しないかどうかはわかりません。

では、マルチスレッド環境でRobotオブジェクトを処理して、複数のアクションを同時に実行できるようにするにはどうすればよいでしょうか。

4

0 に答える 0