Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : timer asynchrone [ Linux / Autre ] (ToToL)

dimanche 21 mai 2006 à 01:27:32 | timer asynchrone

ToToL

Membre Club
Bonjour

J'ai besoin dans un programme en cour de création d'un timer asynchrone. je m'explique :

j'ai besoin d'executer des actions a des heures bien précise sauf que je ne veut pas qu'en attendant ces moments, je bloque mon programme.

Donc , comme sous win32 avec les events dans les fenetres de dialogues, j'aimerai savoir si cela existe avec des timers et sous linux car je programme sous linux.

J'ai fouillé un peut partout sur le net sans trouver vraimetn ce que je veux , peut etre parce que ca n'existe pas.

Merci
    ToToL

dimanche 21 mai 2006 à 09:46:39 | Re : timer asynchrone

24Karas

Peut-être qu'utiliser des thread peuvent aider.
Avec ça tu pourrais lancer un thread pour chaque action que tu veux executer en passant comme param au thread l'heure d'execution de la commande.

- tu lances ton thread
- puis dans ton thread tu fais patienter jusqu'à ce qu'à ce que ça soit l'heure qu'il te faut. (avec une fonction genre sleep, pas une boucle infinie sinon tu vas bouffer le CPU)
- puis un fois que c'est fait tu fais continuer l'execution de ton thread (l'action en gros)

ici un exemple sous linux avec des thread
http://www.cppfrance.com/codes/THREADS-SOUS-LINUX_19379.aspx

++



dimanche 21 mai 2006 à 09:52:25 | Re : timer asynchrone

ToToL

Membre Club
j'avais penser a cela mais je me demandait si la fonction sleep était assez précise.
mais surtout c'est que ce n'est pas tres pratique , mais bon je vais faire avec.

Merci

dimanche 21 mai 2006 à 12:26:29 | Re : timer asynchrone

24Karas

Réponse acceptée !
si ton truc doit etre plus précis, tu peux faire :

- calcule le temps en milliseconde à attendre
- avec ton nombre de milliseconde, tu trouves le nombre de secondes entieres à attendre
- tu fais ton sleep du nombre de seconde
- il te reste à patienter pour le nombre de millisecondes restantes.là tu peux faire avec une boucle, tant pis pour le CPU, ça va pas durer des heures (au maximum juste un peu moins d'une seconde)

++


dimanche 21 mai 2006 à 13:13:28 | Re : timer asynchrone

mondrone

Membre Club
n'est-il pas possible d'essayer avec un signal ? Je ne me rapelle plus le nom, sur le coup, mais yen a pas un qui permet d'entrer dans une fonction au bout d'un temps bien précis ?


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!


dimanche 21 mai 2006 à 13:16:52 | Re : timer asynchrone

mondrone

Membre Club
si ca y est j'ai le nom : le sigalrm.

si j'ai bien compris le fonctionnement un truc du genre :

signal(SIGALRM, alarme);
alarm(5);

avec void alarme(int sig);

va te déclencher la fonction alarme au bout de 5 secondes !

Mais je ne sais pas l'avantage / sleep (ou l'inconvenient d'ailleurs)


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!




Cette discussion est classé dans : timer, programme, linux, existe, asynchrone


Répondre à ce message

Sujets en rapport avec ce message

portage Linux vers visual C++ [ par acsx ] Salut,J'ai un programme écrit en C sous Linux et je souhaite le faire tourner sous Visual C++ 6.0 sous Windows.J'ai donc créé un projet win32 et intég substr sous linux [ par juliusius37 ] bonjour tous le mondeje doit actuellement cree un petit programme en C++qui joue avec des fichiers des chaine.ce programme fonctionnera sous linux, ma timer avec linux[?] [ par dmothes ] Help!!!quelqu'un pourrait-il m'aider? j'ai besoin d'utiliser un timer sous linux (si possible, en millisecondes)...faut-il utiliser linux/timer.h? com compilation c++ sous linux [ par marco2009 ] voila je commence a programmer en cpp et lorsque j'essaye de compile avec la console en utilisant gcc ca marche pour les programme ecrit en c mais po programme graphique sous linux avec X11 de préférence (pour le portage) [ par coucou747 ] je recherche une façon de créer des programmes graphiques en c, j'ai cherché des heures sur le net des programmes en c utilisant des librairies comme [debutant] Interruption timer sous linux [ par PierrotLeCelte ] Bonjour,Je voudrais ecrire un petit programme ou une fonctionqui s'execute a chaque interruption de l'irq timer(irq = 0). D'abord est ce possible ? Et dev C++ sous linux (debian) [ par izle ] Bonjour,Je developpe une API windows, j'aimerais faire la meme chose mais pour linux (debian), existe-t-il une version de dev C++ sous linux, si oui o Executer un prog linux(commandes) a partir d'un prog windows(C++) [ par angeljp ] Salut,Je voudrais savoir s'il est possible d'executer à partir d'un PC sous Win2k un programme se trouvant sur une station Linux ?Autre chose : je vou Comment changer de répertoire avec un programme c++ sur linux [ par mathsunn01 ] Bonjour! J'aimerai creer un programme qui me permettrai de changer de répertoire dans un terminal linux (comme la commande cd).J'ai fé une recherche s Ca existe ? [ par simtiers ] Salut ! Je voulais jsute savoir si des terminaux, aux sens de jeux comme Uplink (console) ou Street Hacker existe réellement, car ça me servirait fra


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 4,025 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.