Problème pour arrêter un Thread dans l'attente d'une réponse de l'utilisateur de [Résolu]

Signaler
Messages postés
5
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
30 septembre 2005
-
Messages postés
5
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
30 septembre 2005
-
Bonjour à tous,
Je suis en train de pogrammer un petit logiciel de peer2peer qui comporte en autre une partie client et une serveur. J'aimerais pouvoir lors de la connection d'une nouvelle personne sur le serveur, faire une demande a l'utilisateur dans une JFrame : Acceptez-vous la connection de..." bouton OUI ou NON...
J'aimerais ne pas couper la connection (Input-OutputStream) avec le client pendant cette phase de demande.
J'ai donc naturellement utiliser un wait() avec le synchronized et tout et tout...
Malheureusement l'appel du wait() bloque toute l'interface graphique donc pas de réponse de l'utilisateur possible (entre autre).
A force de bidouillage, j'utilise maitenant les classes : java.util.concurrent.locks.Condition , java.util.concurrent.locks.Lock et java.util.concurrent.locks.ReentrantLock
Ce qui donne la même chose...
Dans ma recherche d'une réponse, j'ai eu l'occasion de me rendre compte que la démarche que j'ai choisie ne semble pas trés utilisé, en Java au moins, mais mon programme est en fin de développement donc j'aimerais trouver un truc dans le genre.
Est-ce que quelqu'un à une idée ?
Merci d'avance

2 réponses

Messages postés
5
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
30 septembre 2005

En fait, j'avais oublier de mettre le client dans un thread... Donc quand je faisais des tests en boucle 127.0.0.1 mon client bloquait l'application.
Merci gmi19oj19, je vais aller faire quand même un petit tour chez sun pour voir les SwingWorker.
Messages postés
545
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
28 septembre 2011
2
La meilleure solution consiste à utiliser la classe SwingWorker développée par Sun.



Google est ton ami =>



http://www.google.fr/search?hl=fr&q=SwingWorker&btnG=Rechercher&meta=

gmi19oj19