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

  FORUM HardWare.fr
  Programmation
  Java

  Au pro du thread, yield() VS Sleep()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Au pro du thread, yield() VS Sleep()

n°242966
korben
Posté le 11-11-2002 à 14:12:48  profilanswer
 

Hello
J'ai un petit problème que j'aimerais résoudre de la manière la plus propre possible.
 
J'ai 3 treads (mais le problème reste identique avec 2),thread:
- A
- B
- C
 
Le thread est composé d'une boucle qui dans certaines circonstances, laisse la main (yield). Si B et C ont qqch à faire, alors c'est ok. Mais si ce n'est pas le cas, cela craint alors l'équivalent d'une boucle infini, qui charge le cpu à 100% et cela cause des problèmes pour d'autres fonctions (je vous épargne les détails).
Je cherche donc à savoir s'il y a une manière élégante de résoudre ce problème SANS mettre un sleep(50) (qui fait retomber la charge CPU à 10%). Y-a-t'il un moyen de faire le sleep que si le passage de la main est trop court.
D'avance merci
A+


Message édité par korben le 11-11-2002 à 14:42:53

---------------

mood
Publicité
Posté le 11-11-2002 à 14:12:48  profilanswer
 

n°242976
korben
Posté le 11-11-2002 à 14:42:30  profilanswer
 

Quelle est la différence exacte entre yield() et sleep(X) si ce n'est que dans sleep(X), une durée x ms minimum de pause est assurée?
Merci


---------------

n°243241
benou
Posté le 11-11-2002 à 22:58:04  profilanswer
 

yield : tu rends la main.
sleep : tu mets le thread en pause.
 
=> yield c'est en gros un sleep(0)

n°243379
BifaceMcLe​OD
The HighGlandeur
Posté le 12-11-2002 à 11:28:52  profilanswer
 

Le mieux, c'est sans doute de baisser la priorité des threads qui ont une grosse activité, et qu'ils fassent des yield() régulièrement. Comme cela, le programme principal ne sera pas bloqué, et s'il n'a rien à faire, les threads ne seront pas moins performants.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Au pro du thread, yield() VS Sleep()

 

Sujets relatifs
[Java] Priorité du refresh d'un panel et yield pour threadThread et processus
Serialization de thread[C] curses :Impossible de l'utiliser...scanf pdt un printf d'1 thread
[Threads/C] Fonction non bloquante checkant si un thread est fini...thread
1 seul passage dans run() pour une instance de Thread [Resolu]thread et nanosleep( )
faire un wait() sur un Thread déjà suspendu + comment killer 1 thread 
Plus de sujets relatifs à : Au pro du thread, yield() VS Sleep()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR