SAPシステムのユーザー間で再生する簡単なTic Tac Toeゲームを作成します。ABAP:共有メモリオブジェクトの同期化
私はプレイヤーにゲームを割り当てるSIGNUPメソッドを持つCL_TTT_MANAGERクラスを持っています。私のクラスは共有メモリー対応のクラスです.SAPシステムのすべてのユーザーが潜在的にアクセスできるようにするためです。
サインアップ手順は、非常に単純なアルゴリズムを使用して行われます。
1: "WAITING_FOR_PLAYERS"フラグが存在し、ABAP_FALSEに設定されています。最初は 2:最初のプレーヤーが "SIGNUP"を呼び出すと、フラグは "ABAP_TRUE"に設定されます。 3:セカンドプレーヤーが "SIGNUP"を呼び出すと、フラグは "ABAP_FALSE"に設定され、ゲームインスタンスが作成されます。
私のSIGNUPメソッドの問題は、状態に依存していることです。つまり、最初のプレーヤーの名前を覚えておく必要があります。これは、プライベート属性を使用して実現されます。
並行性の問題を抱えている方は、データレースを見つけることができます。つまり、2人目のプレイヤーがサインアップした直後に3人目もサインアップすると、最初のプレーヤーの名前が三番目の名前。
どのように私はこれらのものをabapで同期させるのですか?これに対してどのようなメカニズムがありますか?私はドキュメンテーション(これは2ヶ月間しか勉強していませんでした)でこのようなことに遭遇していません。私はこれを自分で実装しなければならないのですか、それとも私を助ける何かがありますか?
よくSAPは(Oracleのような)会社であり、ABAPは独自の言語(Javaのようなもの)です....しかし、システムのプログラミングにのみ使用されます。情報とアドバイスのために –