Comment puis-je vous interrompre un ServerSocket méthode accept ()?

Dans mon thread principal, j'ai un while(listening) boucle qui appelle accept() sur mon ServerSocket objet, puis démarre un nouveau thread client et l'ajoute à une Collection lorsqu'un nouveau client est acceptée.

J'ai aussi un Admin fil que je veux utiliser pour émettre des commandes, à l'instar de "sortie", qui sera la cause de tous les threads de client-être arrêter, arrête de lui-même, et de fermer le thread principal, en tournant à l'écoute pour de faux.

Cependant, la accept() appel dans le while(listening) boucle de blocs, et il ne semble pas être un moyen de les interrompre, de sorte que le bien que la condition ne peut être vérifiée de nouveau, et le programme ne peut pas sortir!

Est-il une meilleure façon de le faire? Ou d'une certaine façon à interrompre le blocage de la méthode?

InformationsquelleAutor lukeo05 | 2010-06-06