Comment utiliser un BloquingQueue? [Résolu]

Signaler
Messages postés
1
Date d'inscription
samedi 8 mai 2010
Statut
Membre
Dernière intervention
9 mai 2010
-
cs_Kysic
Messages postés
332
Date d'inscription
mardi 12 juillet 2005
Statut
Membre
Dernière intervention
17 juillet 2010
-
Bonjour!
Je suis en train de coder un réseau pour un jeu à 4 joueurs, j'ai donc besoin de récupérer les mouvements du joueur à qui est le tour et de le renvoyer à tous les autres joueurs, le problème que j'ai est que le server ne renvoit l'info que lorsque le joueur fait le mouvement suivant, et il ne renvoit l'info qu'au joueur qui bouge.
J'ai donc pensé utiliser une BlockingQueue pour stocker les infos sur les mouvements à opérer, mais je ne sais pas comment utiliser une BlockingQueue...
Les méthodes put(e) et take() pour ajouter et retirer des éléments, c'est bien beau, mais comment créer une BlockingQueue?
Merci

1 réponse

Messages postés
332
Date d'inscription
mardi 12 juillet 2005
Statut
Membre
Dernière intervention
17 juillet 2010

Salut,
Si tu veux utiliser BlockingQueue tu peux par exemple faire "new ArrayBlockingQueue<String>(100);" (remplacer String par ce que tu veux, par exemple une classe "Deplacement" représentant un déplacement).
Ensuite tu as un thread consommateur qui boucle en faisant des "take()" et des threads producteur qui viennent ajouter des déplacements dans la liste avec la méthode "put()".