Prozessorlast in Schleife verringern
-
Guten Tag,
In meinem Programm wird eine etwas längere while-Schleife
ausgeführt. Das führt dann zu 100% Last auf einem CPU-Kern.Wie kann ich jetzt möglichst portabel und elegant bei jedem
Schleifendurchlauf warten (vll. auf nen interrupt oder sowas?)
um die CPU last zu verringern?Unter Windows konnte man zB. relativ einfach mit
Sleep() warten, das kommt hier leider nicht
in frage.
-
Warum willst du das tun? Willst du nicht, dass die Schleife möglichst schnell abgearbeitet wird? Dazu ist der Prozessor doch schließlich da. Ein bisschen Last schadet ihm nicht.
-
SeppJ schrieb:
Warum willst du das tun? Willst du nicht, dass die Schleife möglichst schnell abgearbeitet wird? Dazu ist der Prozessor doch schließlich da. Ein bisschen Last schadet ihm nicht.
Naja, normalerweise sollte das kein Problem sein, in meinem Fall
allerdings ist die Geschwindigkeit durch andere Faktoren eh begrenzt,
und das Programm soll auf einem Server möglichst still im Hintergrund
laufen
-
neuling3k schrieb:
SeppJ schrieb:
Warum willst du das tun? Willst du nicht, dass die Schleife möglichst schnell abgearbeitet wird? Dazu ist der Prozessor doch schließlich da. Ein bisschen Last schadet ihm nicht.
Naja, normalerweise sollte das kein Problem sein, in meinem Fall
allerdings ist die Geschwindigkeit durch andere Faktoren eh begrenzt,
und das Programm soll auf einem Server möglichst still im Hintergrund
laufenDas sollte aber eigentlich die Lastverteilung auf dem Server regeln. Das direkt im Programm zu implementieren wäre sehr, sehr ungewöhnlich. Falls du es aber trotzdem machen willst: Nein, dafür gibt es keine plattformunabhängige Methode.
-
ein usleep eventuell ? Ist der kein Standard in der libc
-
pferdefreund schrieb:
ein usleep eventuell ? Ist der kein Standard in der libc
Nein, das gibt's nur auf POSIX kompatiblen Systemen wie z.B. Linux.