Bonjour,

Je suis débutant de tous ce qui est multithreading .

Je travail actuellement sur une application multithreading et j'ai rencontrer un petit souci :

J'ai une variable status (true si thread x est en cours sinon false), ou moment de la connexion d'un client (maClass extends Thread) j'initialise cette variable a True et j'execute mes traitements.

Quand le client deconnecte je possitionne status a False et je ferme toute la connexion avec mon serveur.

Mon probleme apparaitre avec plusieurs utilisateurs, une fois le client 1 deconnecte tous les autres threads (des autres clients) se trouvent avec une valeur false de la variable status.

voici mon code :
servlet.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
.......
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
m_codage = new Codage();
m_presentation = new Presentation(m_codage); // instance de la classe presentation
 
............. traitements
m_presentation.disconnect();
}
La classe Presentation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
public class Presentation extends Thread{
private boolean status;
 
public Presentation(Codage local_Codage){
 status = true;
 start();
 }
 
//main loop
public void run()
    {
     while (status){
     ***********************************
      Connexion avec le serveur et recuperation des données.
     ***********************************
      }
     }
 
public void disconnect(){
        informer le client.
        ** afficher status
        status = false;
     }
Remarque : j'ai essai d'afficher status chaque deconnexion et le resultat avec 4 client :
true
false
false
false

Voila, voila j'espère que j'ai bien detaillé mon problème.
Merci d'avance.