Hello les gens,
Voilà pour un programme perso, j'ai un petit problème de synchronisation entre plusieurs threads :
J'utilise python pour réaliser mon programme.
Le problème est le suivant : j'ai 3 threads (2 threads + le programme principal) : deux threads "joueurs", et un thread "serveur"
J'aimerais via des sémaphores (des Locks en fait) faire une sorte d'alternance comme suit : les joueurs jouent (peut importe l'ordre), puis passent la main au serveur, qui traite les demandes des joueurs, puis rend la main aux joueurs, puis les joueurs jouent etc etc
Le problème semble simple et pourtant je n'arrive pas à l'implémenter :/
Normalement, il suffit de 3 locks : un pour le serveur, et un pour chaque joueur, lorsqu'un joueur veut jouer, il bloque son lock et celui du serveur, et libère quand il a fini, et lorsque le serveur process, il lock tous les joueurs et son propre mutex, et libre le tout quand tout est fini ?
merci d'avance pour votre aide, j'ai essayé plusieurs configurations sans succès