Sleep() funktioniert nicht.



  • Moin!

    Ich hab da ein Problem: ich habe eine Schleife [while(1)] in der einige Berechnungen laufen. Da ich nicht will, dass das die ganze Zeit läuft (was eine CPU Auslastung von 100% bedeutet). Deswegen wollte ich das ganze mit Sleep() etwas eindämmen. Aber selbst bei hohen Werten (Sleep(1000), Sleep(5000) oder ähnliches) liegt die Auslastung ununterbrochen bei 100%.
    Woran kann das liegen/wie ist das zu fixen? Bin ein wenig ratlos.



  • ^^das wird wohl daran liegen, dass dein 'sleep' gar nicht augfgerufen wird. mach doch mal' breakpoint drauf oder eine 'printf' ausgabe davor.
    🙂



  • Hm, doch, Sleep wird aufgerufen.

    Allerdings scheint er zu funktionieren, bei Sleep(1500) spuckt printf auch alle 1,5 Sekunden was aus. Die CPU-Auslastung ist dennoch dauerhaft enorm.

    Das Problem kann aber nicht an der Schleife liegen, wenn ich alles andere auskommentiere und das Programm im Prinzip nur noch so aussieht:

    int main(int agrc, char** argv[])
    {
        while(1)
        {
            printf("Bla\n");
            Sleep(1500);
        }
    }
    

    Ist die CPU-Auslastung quasi 0. Werde dann wohl woanders weitersuchen müssen. Naja, trotzdem danke 🙄



  • Cronk schrieb:

    Werde dann wohl woanders weitersuchen müssen.

    das sehe ich auch so. übrigens ist argv kein char**[]
    🙂


Anmelden zum Antworten