[Thread]Boucle infinie sans 99% du proc
Bonjour,
je suis entrain de tester une application client serveur
si je mets mon application à l'écoute pour recevoir des données, j'ai constaté que la charge processeur est à 99 %.
je m'explique j'ai une méthode qui me permet d'écouter le réseau ecouter();
dans le main je fais
Code:
1 2 3 4
| while (!quitter) {
ecouter();
if (condition) quitter = true;
} |
j'ai simplifié le code, lors de l'écoute si je récupère une chaine de caractère particulière je quitte càd je ne suis plus à l'écoute.
Je suppose que c'est normale que la charge pocesseur soit à 99% puisque j'ai une boucle "infinie" comment peut-on faire pour écouter à tout instant si on a un message qui nous est destiné sans pour autant occuper toute la charge processeur.
Merci par avance
Re: Ecoute réseau - charge processeur
Citation:
Envoyé par dinver
Je suppose que c'est normale que la charge pocesseur soit à 99% puisque j'ai une boucle "infinie" comment peut-on faire pour écouter à tout instant si on a un message qui nous est destiné sans pour autant occuper toute la charge processeur.
Si tu écoutes à tout instant, tu vas occuper ton processeur à tout instant. Utilise un thread avec sa priorité à Thread.MIN_PRIORITY pour ton écoute. Si c'est pas suffisant, ajoute un Thread.sleep(nb_millisecondes) en testant avec des valeurs différentes pour nb_millisecondes afin de trouver le meilleur compromis.