C - attendre n milliseconds entre 2 iterations d'une boucle

C - attendre n milliseconds entre 2 iterations d'une boucle - C - Programmation

Marsh Posté le 23-02-2010 à 00:18:48    

salut a tous
 
j'ai une boucle, et je veux qu'elle passe a l'iteration suivante:
 
- instantannement si la precedente iteration a fini il y a plus de 100ms
- 100 ms apres la fin de la precedente iteration
 
j'ai pense avoir un thread que je detach, qui sleep, et que je join
 
est ce la solution la moins couteuse?
 
 
merci

Reply

Marsh Posté le 23-02-2010 à 00:18:48   

Reply

Marsh Posté le 23-02-2010 à 01:00:26    

Tu fais un clock au debut de ta boucle, tu stock sa valeur. Tu fais un clock a la fin de la boucle, et tu verifies la difference entre les 2

Reply

Marsh Posté le 23-02-2010 à 04:21:29    

ouais
mais ensuite, si je suis en avance, faudra que je me fasse un nanosleep correpondant a 100ms - ma duree deja ecoulee
et je me demandais si faire un thread ultra simple serait pas moins couteux

Reply

Marsh Posté le 23-02-2010 à 08:22:56    

Là, il faut faire un test sur la cible pour répondre à cette question, mais a priori, ça n'est pas une mauvaise idée d'avoir un thread qui sert d'orchestrateur. Disons que plus les contraintes temps réel sont importantes, plus la programmation  va être assez délicate.


Message édité par el muchacho le 23-02-2010 à 08:26:07

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 23-02-2010 à 16:45:15    

Déjà faudrait éviter de créer/join un thread à tour de bras.

Reply

Marsh Posté le 23-02-2010 à 23:34:18    

que veux tu dire?

Reply

Marsh Posté le 23-02-2010 à 23:57:51    

qu'il est stupide de creer 1000 threads par seconde?  
oui, cela va de soir

Reply

Marsh Posté le 23-02-2010 à 23:57:57    

soi

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed