PDA

Visualizza la versione completa : Ripetere funzioni C periodicamente


volber
13-07-2009, 12:54
Salve,
dovrei fare in modo che una mia funzione C venga ripetuta ogni TOT secondi. Qualcuno potrebbe darmi una mano?

Grazie mille

Tigre851
13-07-2009, 18:37
? in che senso? intendi dire che hai un programma scritto in C che deve essere rieseguito o una funzione C richiamata ad esempio da un main che deve essere rieseguita + volte?

volber
13-07-2009, 20:04
sto lavorando nel kernel di linux...
praticamente la mia funzione deve essere rieseguita ogni TOT di tempo (ad esempio ogni 10 secondi) e deve resettarmi una struttura dati...

avete qualche soluzione?

Grazie

Tigre851
14-07-2009, 12:47
allora... immagino che la funzione C segua un thread differente da quello principale, che librerie stai utilizzando per la programmazione concorrente? (io ad esempio normalmente programmo in C++ con QT4 e per questo genere di cose si utilizzano direttamente le funzionalità di QT come QTimer che genera un evento ogni tot secondi ed è quindi possibile catturarlo per fargli eseguire qualcosa in modo temporizzato).

PinguinoGoloso
14-07-2009, 13:08
Una roba del genere ?
while (true) {
mia_funzione();
sleep(10);
}

Tigre851
14-07-2009, 14:40
così però il programma chiamante rimane in attesa... potrebbe andare bene se il segmento di codice che hai postato venisse eseguito da un thread diverso da quello principale.

PinguinoGoloso
14-07-2009, 15:29
Voglio sperare che sia così :D .

Tigre851
14-07-2009, 15:30
Originariamente inviato da PinguinoGoloso
Voglio sperare che sia così :D .
:-D

volber
14-07-2009, 18:26
Già avevo provato questa soluzione ma per il mio programma nn andava bene...cmq alla fine ho risolto utilizzando i timer definiti per il kernel e relativi metodi...

Grazie comunque per le risposte... :D

Loading