コントローラーの入力をキャプチャするスレッドがあります。このスレッドが行うことはこれだけですXInputGetState()
。x ミリ秒ごとに呼び出し、結果を同期循環バッファに格納します。XInputSetState()
特定の条件に達したときにコントローラーを振動させることで、この入力に反応する別のスレッドがあります。
つまり、一方のスレッドは のみを呼び出しXInputGetState()
、もう一方のスレッドは のみを呼び出しますXInputSetState()
。理論的には、いずれかの関数が同時に複数回呼び出されることはありません。同期せずにこれを行うのはまだ安全ではありませんか?
注: これらの 2 つの関数は、まったく異なるデータ セットで動作しますが、実装は同期されていないものに対して読み取り/書き込みを行う可能性が最も高いです。