Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1804 connectés 

 


Dernière réponse
Sujet : [JAVA] Thread => occupation processeur
benou

noblue a écrit a écrit :

oki je vais le faire dormir
Merci.




:non:
pas de sleep !
 
Thread.yield() rulez !
 
Ca rend la main aux autres thread. Il ne faut faire des sleep que si tu veux réélement que l'execution de ton thread s'arrête pendant un moment


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
benou

noblue a écrit a écrit :

oki je vais le faire dormir
Merci.




:non:
pas de sleep !
 
Thread.yield() rulez !
 
Ca rend la main aux autres thread. Il ne faut faire des sleep que si tu veux réélement que l'execution de ton thread s'arrête pendant un moment

NoBlue oki je vais retester
darklord

noblue a écrit a écrit :

oki je vais le faire dormir
Merci.
 
Ps : pour le set priority j'avais regardé => ça sert a choisir les priorités d'execution du thread mais ça a pas d'influence sur la charge cpu.  




 
bien sur que si. Tout dépend le nombre de threads et la façon dont tu as fait ton design. Mais setPriority a bel et bien une influence ...

NoBlue oki je vais le faire dormir
Merci.
 
Ps : pour le set priority j'avais regardé => ça sert a choisir les priorités d'execution du thread mais ça a pas d'influence sur la charge cpu.
darklord donc si il y a tout le temps des trucs à faire c'est normal qu'il prenne du proc. Tu peux définir sa priorité pour qu'il en prennet moins (setPriority si je me souviens bien ,regarde le javadoc)
darklord

noblue a écrit a écrit :

mais je veux pas qu'il dorme juste qu'il tourne tout le temps mais pas qu'il occupe toute la cpu => on peut le faire ça ?  




 
bin je ne sais pas à quoi te sert ton thread. Logiquement tu as deux types de thread:
 
1. Un thread qui doit faire un process en // d'un autre (par ex: calculer la 50eme décimale de Pi)
2. Un thread qui attend des évenements et lorsqu'il les récupère fais des trucs asynchrones dessus
 
Dans le cas 1 ton thread doit faire son brol puis s'arreter (ie. fin de la méthode run)
 
Dans le cas 2 lorsqu'il a processer tout les évenements il s'endort quelques centièmes de sec puis il regarde à nouveau si il n'y a rien à faire. Si il n'y a rien à faire il s'endort à nouveau etc.

NoBlue public void run()  
{
serv.afficheZone("Ecoute en cours" );
boolean fini=false;  
          try {
           String lue=null;  
           String rep;  
           while (!fini)
            {
            if (lue.startsWith("#2#" )) //reception grille
             {
                Case[][] grilleTmp=null;
                grilleTmp = (Case[][]) lectureObjet.readObject();
....
 
le code c'est assez long => voilà le début
faire dormir le tread => c'est la fct sleep je suppose ?  
mais je veux pas qu'il dorme juste qu'il tourne tout le temps mais pas qu'il occupe toute la cpu => on peut le faire ça ?
darklord

noblue a écrit a écrit :

Humm qaund je fait un thread ça occupe 100% de mon proc  
Peut on dire a un thread de n'utiliser que 10%du proc ?
car sinon j'ai mon prog qui rame a fond :((  




 
c'est parce que tu ne le fais pas dormir lorsqu'il est inactif ...
 
montre le code de public void run()

NoBlue Humm qaund je fait un thread ça occupe 100% de mon proc  
Peut on dire a un thread de n'utiliser que 10%du proc ?
car sinon j'ai mon prog qui rame a fond :((

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)