Mein Programm hat eine Reihe von Threads, die Hauptschleife hat keine Funktion. Ich habe die Hauptschleife als while (1) {sleep (1);} programmiert.Linux Threading, Schlaf in Haupt
Ich frage mich jetzt aber kann nicht sicher sagen, ob leistungsmäßig eine leere Hauptschleife (während (1) {}) besser ist als Schlaf (1) oder umgekehrt, oder das gleiche ???
dachte ich die Planer prüfen alle Aufgaben in jedem Planungszyklus, um zu sehen, ob sie aufgeweckt werden müssen, das tut:
wenn Haupt eine leer while-Schleife: wake nichts
zu tun up
, wenn der Haupt ist ein schlafender Schleife: die Aufwachzeit Stempel geprüft/neu berechnet, wenn Bedarf geweckt werden, dann nichts
jede verschie Stellen zu tun aufwachen Zensuren?
Ich würde 'pause()' anstelle von 'sleep (1)' verwenden. Es ist wie 'sleep()', aber mit einer unendlichen Zeitüberschreitung. Es wird weniger häufig aktiviert (nur bei Signalen) und verbraucht weniger Ressourcen. – rodrigo