Ich führe einige Profiling-Tests durch, und usleep ist eine nützliche Funktion. Aber während mein Programm schläft, erscheint diese Zeit nicht im Profil.Wie mache ich einen aktiven Schlaf?
z. wenn ich eine Funktion wie haben:
void f1() {
for (i = 0; i < 1000; i++)
usleep(1000);
}
mit Profilwerkzeugen wie gprof, ist f1 scheint keine Zeit zu verbrauchen.
Was ich suche ist eine Methode, schöner als eine leere while-Schleife für einen aktiven Schlaf zu tun, wie:
while (1) {
if (gettime() == whatiwant)
break;
}
Danke für die Antwort. Vielleicht war es nicht wirklich klar, aber es ist mir egal, wie effizient es ist, ich führe einige Tests durch (eigentlich werde ich das in einer test.c-Datei verwenden ...). Ich bin mir der Wartelistenplanung und so weiter bewusst. Was ich suche, ist eine existierende Methode für das, was ich aktualisiert habe. –