我想创建一个简单的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)......但仅用于编程他们的系统。 –