giova22
28-09-2005, 15:19
Ciao
Devo fare un programmino che esegua dei determinati compiti dopo certi intervalli di tempo.
AD esempio se volevo fargli fare alcune cose usavo la funzione daly (da me creata) e così fatta:
void delay(int sec){
time_t inizio,fine;
time(&inizio);
time(&fine);
while(difftime(fine,inizio)<(double)sec)
time(&fine);
}
molto banale.
IL problema è che pur funzionamndo bene, il programma così fatto usa il 100% della cpu, infatti esegue un while continuo.
Come faccio ad esempio a fargli fare una certa cosa ad intervalli da me impostati senza usare tutto quel processore?
infatti se uso ad esempio l operazioni pianificate per fare partire un programma ad una certa ora non sta tutto il tempo ad usare la cpu.
Grazie dell aiuto
Devo fare un programmino che esegua dei determinati compiti dopo certi intervalli di tempo.
AD esempio se volevo fargli fare alcune cose usavo la funzione daly (da me creata) e così fatta:
void delay(int sec){
time_t inizio,fine;
time(&inizio);
time(&fine);
while(difftime(fine,inizio)<(double)sec)
time(&fine);
}
molto banale.
IL problema è che pur funzionamndo bene, il programma così fatto usa il 100% della cpu, infatti esegue un while continuo.
Come faccio ad esempio a fargli fare una certa cosa ad intervalli da me impostati senza usare tutto quel processore?
infatti se uso ad esempio l operazioni pianificate per fare partire un programma ad una certa ora non sta tutto il tempo ad usare la cpu.
Grazie dell aiuto