Salut,
j'ai fais un programme de tchat avec les sockets et il fonctionne , mais le problème c'est qu'il consomme presque 26% du processeur , j'ai constaté que les portions du programme responsables de ce problème sont les suivantes:
le 1er threads pour la réception des messages:
Le 2ème thread pour l'émission
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 public void run() { // TODO Auto-generated method stub while(!stop){ try { if((MsgRecu = in.readLine())!=null){ System.out.println(MsgRecu); fenetre.recu(MsgRecu); } } catch (IOException e) { e.printStackTrace(); try { in.close(); } catch (IOException e1) { e1.printStackTrace(); } break; } } }
Est ce que quelqu'un peut me proposer une solution ,pour empcher le processus de travailler tant que aucun message n'est encore arrivé?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public void run() { while(!stop&&message!=null){ if(envoyer){ message=fenetre.envoyer(); out.println(message); out.flush(); envoyer=false; } } out.close(); }
Partager