Comment utiliser un BloquingQueue?

Résolu
fragri3 Messages postés 1 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 9 mai 2010 - 9 mai 2010 à 09:35
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010 - 9 mai 2010 à 10:18
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

cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
9 mai 2010 à 10:18
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()".




 
3
Rejoignez-nous