Originariamente inviato da thesalien
Salve a tutti, qualcuno saprebbe dirmi se ci sia un qualcosa simile ai timer ed ai listener del java per il C? ho trovato la funzione alarm ma dalla descrizione ho letto che viene usata per far terminare i processi..
1) alarm() serve solo per inviare al processo il segnale SIGALRM. Poi cosa fare in risposta a SIGALRM ... dipende da te. (l'azione di default, se non ridefinita, è far terminare il processo).

2) alarm() non è una funzione "standard". Gestire dei timer richiede l'utilizzo di funzioni non standard o comunque specifiche del sistema operativo.

3) Sui sistemi linux si potrebbe usare la funzione setitimer(), sui sistemi Windows si potrebbe usare la funzione Win32 timeSetEvent(). Ma si possono anche usare altri sistemi: utilizzo del messaggio WM_TIMER in una window-procedure oppure utilizzo di un thread apposito che va in sleep per un tot di tempo, ecc....

Dipende tutto dalla precisione/affidabilità di cui hai bisogno.