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

  FORUM HardWare.fr
  Programmation
  C++

  Attente passive sur une durée prédeterminée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Attente passive sur une durée prédeterminée

n°925964
xterminhat​e
Si vis pacem, para bellum.
Posté le 17-12-2004 à 13:30:41  profilanswer
 

Je souhaite realiser une attente passive connaissance la durée de l'attente (en secondes ou ticks).  Un sleep pourrait convenir mais existe-t-il un équivalent de mutex ou variable conditionnelle chronométrée ?


---------------
Cordialement, Xterm-in'Hate...
mood
Publicité
Posté le 17-12-2004 à 13:30:41  profilanswer
 

n°925965
chrisbk
-
Posté le 17-12-2004 à 13:31:55  profilanswer
 

heuh ? tu peux etre plus précis ? pouquoi pas un sleep ?  
 
certains fonction de l'api windows pour les threads prennent un timeout en param


Message édité par chrisbk le 17-12-2004 à 13:32:16
n°925968
xterminhat​e
Si vis pacem, para bellum.
Posté le 17-12-2004 à 13:35:23  profilanswer
 

Sauf erreur de ma part, sleep est gourmand en CPU. N'y a t il pas une méthode plus fine ?


---------------
Cordialement, Xterm-in'Hate...
n°925970
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-12-2004 à 13:36:06  profilanswer
 

Code :
  1. for (int i=0; i<2^32: i++)
  2. {}


[:joce]
 
sinon je plusun chris pour les threads en win32 :o


---------------
J'ai un string dans l'array (Paris Hilton)
n°925971
HelloWorld
Salut tout le monde!
Posté le 17-12-2004 à 13:36:11  profilanswer
 

Tu fais erreur. Sleep est passif.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°925974
chrisbk
-
Posté le 17-12-2004 à 13:36:53  profilanswer
 

xterminhate a écrit :

Sauf erreur de ma part, sleep est gourmand en CPU. N'y a t il pas une méthode plus fine ?


y'a erreur de ta part

n°925975
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-12-2004 à 13:36:54  profilanswer
 

xterminhate a écrit :

Sauf erreur de ma part, sleep est gourmand en CPU.


pardon ? [:heink]


---------------
J'ai un string dans l'array (Paris Hilton)
n°925976
xterminhat​e
Si vis pacem, para bellum.
Posté le 17-12-2004 à 13:38:09  profilanswer
 

Par curiosité, comment l'OS implémente le sleep() en général ?


---------------
Cordialement, Xterm-in'Hate...
n°925978
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-12-2004 à 13:39:22  profilanswer
 

Citation :


The sleep() function shall cause the calling thread to be suspended from execution until either the number of realtime seconds specified by the argument seconds has elapsed or a signal is delivered to the calling thread and its action is to invoke a signal-catching function or to terminate the process. The suspension time may be longer than requested due to the scheduling of other activity by the system.


http://www.opengroup.org/onlinepub [...] sleep.html


---------------
J'ai un string dans l'array (Paris Hilton)
n°925979
HelloWorld
Salut tout le monde!
Posté le 17-12-2004 à 13:40:43  profilanswer
 

Je sais pas pour le Sleep, mais je serais pas étonné que ce soit un truc du genre:

Code :
  1. void Sleep( int ms )
  2. {
  3.     WaitForSingleObject(
  4.         GetCurrentThread(),
  5.         ms );
  6. }


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
mood
Publicité
Posté le 17-12-2004 à 13:40:43  profilanswer
 

n°925983
xterminhat​e
Si vis pacem, para bellum.
Posté le 17-12-2004 à 13:45:20  profilanswer
 

Tres bien alors, Sleep répond à ma question. Je me souviens d'une implémentation du sleep basée sur une boucle 'for' et d'un calcul de temps de cycle CPU.... ca devait être dans les années 50 ! J'ai peu évolué depuis ;-)


---------------
Cordialement, Xterm-in'Hate...
n°925989
HelloWorld
Salut tout le monde!
Posté le 17-12-2004 à 14:02:05  profilanswer
 

Tu dois faire référence à ça:
http://msdn.microsoft.com/library/ [...] _clock.asp
c'est juste un exemple d'utilisation de clock, pas la vraie fonction sleep.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°926189
lsdYoYo
gravity powered
Posté le 17-12-2004 à 16:16:11  profilanswer
 

Gaffe à la différence entre "sleep(unsigned seconds)" et "Sleep(DWORD dwMilliseconds)". Le premier fait partie d'une lib "standard" C et le second est un appel à l'API Win32.
Pour le premier (sleep) on peut imaginer que les conceptUeurs de la lib ont bien fait leur boulot et ne bouffent pas tout le CPU à attendre. Le second signale au système de ne plus donner de temps CPU au thread avant la fin de la tempo et donc ne prend pas de ressources, au contraire.

n°926230
HelloWorld
Salut tout le monde!
Posté le 17-12-2004 à 16:57:30  profilanswer
 

Il me semble que sleep n'est pas standard C, mais POSIX.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°926286
chrisbk
-
Posté le 17-12-2004 à 18:18:49  profilanswer
 

ce qui ne m'etonnerait pas vu qu'il n'y a rien de stdard en C pour les threads


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

  Attente passive sur une durée prédeterminée

 

Sujets relatifs
[php] liste d'attente de downloadServlet : Attente au sein d'une webapp
durée des sessionsFiles d'attente et scheduler
attente de threads pour rendre la main + swingaugement la duree d affichage de la page
fenetre d'attente sous VBAInterface d'attente pour un téléchargement facon Fileplanet
probleme client attente d'une connexion serverDélai et durée d'affichage du alt d'une img
Plus de sujets relatifs à : Attente passive sur une durée prédeterminée


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