我想創建一個簡單的Tic Tac Toe遊戲,在SAP系統的用戶之間播放。ABAP:共享內存對象同步
我有一個CL_TTT_MANAGER類,它有一個SIGNUP方法來分配玩家到遊戲中。我的課是一個啓用共享內存的類,因爲它的目的是可能被sap系統的所有用戶訪問。
註冊過程使用非常簡單的算法完成。
1:存在「WAITING_FOR_PLAYERS」標誌,並且設置爲ABAP_FALSE。原來。 2:當第一個玩家調用「SIGNUP」時,該標誌被設置爲「ABAP_TRUE」。 3:當第二個玩家調用「SIGNUP」時,該標誌被設置爲「ABAP_FALSE」並創建遊戲實例。
我SIGNUP方法的問題是,它依賴於國家,即它必須記住的第一個球員的名字,這是使用私有屬性來實現的。
對於任何處理併發問題的人,你會發現一個數據競賽,即如果在第二位玩家註冊後立即註冊,第三位也註冊,第一位玩家的名字可能被替換爲第三名。
我如何在abap中同步這些東西?我有什麼機制?我在文檔中沒有遇到過這樣的事情(我只學習了2個月)。我必須自己實施這個,還是有什麼可以幫助我的?
well SAP是一家公司(如Oracle),ABAP是他們的專有語言(如Java)......但僅用於編程他們的系統。 –