Bonjour,
Je suis entrain d'écrire un programme qui tourne en arrière plan, donc en permanence et qui effectue une opération toutes les N secondes (par exemple tous les 1/4 d'heure)
La séquance concernée est celle-ci
Il n'y a que 2 façons de sortir du while (should_terminate à true) Ctrl+c ou fermetureCode:while (!should_terminate) { time_t le_jour=time(0); if ((le_jour - init_interval) > interval) { tm *tml=localtime(&le_jour); fprintf(espion,"Envoi du fichier %d mn %d sec\n",tml->tm_min,tml->tm_sec); printf("Envoi du fichier %d mn %d sec\n",tml->tm_min,tml->tm_sec); fflush(espion); //C'est là qu'intervient le fichier à créer et envoyer // Ici le traitement qui ne pose pas de problème time(&init_interval); // réinitialisation de init_interval } // fin du bloc if } // fin du bloc while
Mon souci : pendant que le programme attend le moment de faire la manipe suivante (Création de fichier etc.) la CPU est utilisée à 50%, ce qui ne me parait parait pas acceptable.
Est-il possible que ce soit juste mon timer qui en est la cause ? y aurait-il un autre moyen ? ou au contraire le timer n'est certainement pas responsable, alors où chercher ?
Mon environnement, Windows XP, je travaille avec Borland Builder
Merci d'avance.
-----