Attente passive sur une durée prédeterminée - C++ - Programmation
Marsh Posté le 17-12-2004 à 13:31:55
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
Marsh Posté le 17-12-2004 à 13:35:23
Sauf erreur de ma part, sleep est gourmand en CPU. N'y a t il pas une méthode plus fine ?
Marsh Posté le 17-12-2004 à 13:36:06
Code :
|
sinon je plusun chris pour les threads en win32
Marsh Posté le 17-12-2004 à 13:36:11
ReplyMarsh Posté le 17-12-2004 à 13:36:53
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
Marsh Posté le 17-12-2004 à 13:36:54
xterminhate a écrit : Sauf erreur de ma part, sleep est gourmand en CPU. |
pardon ?
Marsh Posté le 17-12-2004 à 13:38:09
Par curiosité, comment l'OS implémente le sleep() en général ?
Marsh Posté le 17-12-2004 à 13:39:22
Citation : |
http://www.opengroup.org/onlinepub [...] sleep.html
Marsh Posté le 17-12-2004 à 13:40:43
Je sais pas pour le Sleep, mais je serais pas étonné que ce soit un truc du genre:
Code :
|
Marsh Posté le 17-12-2004 à 13:45:20
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 ;-)
Marsh Posté le 17-12-2004 à 14:02:05
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.
Marsh Posté le 17-12-2004 à 16:16:11
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.
Marsh Posté le 17-12-2004 à 16:57:30
Il me semble que sleep n'est pas standard C, mais POSIX.
Marsh Posté le 17-12-2004 à 18:18:49
ce qui ne m'etonnerait pas vu qu'il n'y a rien de stdard en C pour les threads
Marsh Posté le 17-12-2004 à 13:30:41
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...