Quiero crear un juego simple de Tic Tac Toe, para jugar entre los usuarios de un sistema SAP.ABAP: sincronización de objetos de memoria compartida
Tengo una clase CL_TTT_MANAGER con un método SIGNUP que asigna jugadores a un juego. Mi clase es una habilitada para memoria compartida, ya que su objetivo es que todos los usuarios de un sistema de savia puedan acceder a él.
El procedimiento de registro se realiza utilizando un algoritmo muy simple.
1: Existe un indicador "WAITING_FOR_PLAYERS" y se establece en ABAP_FALSE. inicialmente. 2: Cuando un primer jugador llama "SIGNUP", la bandera se establece en "ABAP_TRUE". 3: Cuando un segundo jugador llama "SIGNUP", la bandera se establece en "ABAP_FALSE" y se crea la instancia del juego.
El problema con mi método SIGNUP es que depende del estado, es decir, tiene que recordar el nombre del primer jugador, y esto se logra con un atributo privado.
Para cualquiera de ustedes que haya trabajado con problemas de simultaneidad, detectará una carrera de datos, es decir, que justo después de que el segundo jugador se inscriba, un tercero también se inscriba, el nombre del primer jugador podría ser reemplazado por el nombre del tercero.
¿Cómo sincronizo estas cosas en abap? ¿Qué mecanismo tengo para esto? No he encontrado nada como esto en la documentación (he estado estudiando solo durante 2 meses). ¿Debo implementar esto yo mismo, o hay algo para ayudarme?
bien SAP es una empresa (como Oracle) y ABAP es su lenguaje propietario (como Java) .... pero se usa solo para programar sus sistemas. –