Hola!.
Lo que cuentas tiene pinta de poder ser tratado con un objeto de bloqueo se11. Generate una tabla con una entrada para ese programa y si un usuario esta ejecutando ese programa bloquea esa entrada del diccionario. Si otro usuario intenta entrar al programa encontrara bloqueada la entrada. Por tanto lo unico que tienes que hacer es controlar si el dato de la tabla esta bloqueado o no para poder ejecutar el programa. El objeto de bloqueo genera 2 funciones enque para bloquea y deque para bloquear.
Un Saludo de otro asturiano.