05/12/11 10:22
NothingLeft
Ciao a tutti!
Ho aperto questa domanda per chiedere cosa fanno realmente le funzioni tipo sleep(). Ok, so che mettono in pausa il processo per il tempo indicato come parametro, ma più precisamente?
Chiedo questo perchè provando a misurare il tempo di esecuzione di un programma che ha una sleep() all'interno, il programma in questione mi stampa sempre 0.
Il programma in questione è questo:
Questo semestre ho Sistemi Operativi, e mi viene da pensare che la sleep() metta il processo in attesa di un segnale che lo risvegli, ma sono mie supposizioni, ovviamente.
Aspetto qualche chiarimento, grazie a tutti.
Ho aperto questa domanda per chiedere cosa fanno realmente le funzioni tipo sleep(). Ok, so che mettono in pausa il processo per il tempo indicato come parametro, ma più precisamente?
Chiedo questo perchè provando a misurare il tempo di esecuzione di un programma che ha una sleep() all'interno, il programma in questione mi stampa sempre 0.
Il programma in questione è questo:
#include <stdio.h> #include <time.h> float diff(clock_t, clock_t); int main(void) { clock_t start, end; start = clock(); sleep(2); end = clock(); printf("%gs\n", diff(end, start)); return 0; } float diff(clock_t end, clock_t start) { return ((float)(end - start)) / CLOCKS_PER_SEC; }
Questo semestre ho Sistemi Operativi, e mi viene da pensare che la sleep() metta il processo in attesa di un segnale che lo risvegli, ma sono mie supposizioni, ovviamente.
Aspetto qualche chiarimento, grazie a tutti.
Ultima modifica effettuata da NothingLeft 05/12/11 10:26
aaa