Heim >Backend-Entwicklung >C++ >So unterbrechen Sie die Ausführung in C: Eine Anleitung zur Schlaffunktion und zu Alternativen

So unterbrechen Sie die Ausführung in C: Eine Anleitung zur Schlaffunktion und zu Alternativen

DDD
DDDOriginal
2024-10-23 19:50:02567Durchsuche

How to Suspend Execution in C  : A Guide to the Sleep Function and Alternatives

Sleep-Funktion in C: Ein umfassender Leitfaden

Im Gegensatz zu seinem Gegenstück in C fehlt in C eine explizite Sleep()-Funktion, um die Programmausführung anzuhalten für eine bestimmte Dauer. Der moderne C-Standard führt jedoch eine vielseitige Lösung ein, die durch den und Header.

Verwendung von std::this_thread::sleep_for:

Dies ist der empfohlene Ansatz für C 11 und höher. Es ist ein einzelnes Argument vom Typ std::chrono::milliseconds erforderlich, um die Schlafdauer anzugeben.

<code class="cpp">#include <chrono>
#include <thread>

std::chrono::milliseconds timespan(111605); // or whatever

std::this_thread::sleep_for(timespan);</code>

Alternativen vor C 11:

Vor dem Durch die Einführung des Threadings in C 11 waren plattformspezifische Lösungen notwendig. Eine Möglichkeit besteht darin, eine Schlaffunktion mithilfe der bedingten Kompilierung zu definieren:

<code class="cpp">#ifdef _WIN32
    #include <windows.h>

    void sleep(unsigned milliseconds)
    {
        Sleep(milliseconds);
    }
#else
    #include <unistd.h>
    
    void sleep(unsigned milliseconds)
    {
        usleep(milliseconds * 1000); // takes microseconds
    }
#endif</code>

Alternativ können Sie die Boost-Bibliothek nutzen:

<code class="cpp">#include <boost/thread/thread_only.hpp>

void sleep(unsigned milliseconds)
{
    boost::this_thread::sleep(boost::posix_time::milliseconds(milliseconds));
}</code>

Zusätzliche Funktionalität:

Zusätzlich zu sleep_for ist der Der Header stellt „sleep_until“ bereit, um die Ausführung bis zu einem bestimmten Zeitpunkt anzuhalten. Dies bietet mehr Flexibilität und ermöglicht eine genauere Kontrolle über die Schlafdauer.

Das obige ist der detaillierte Inhalt vonSo unterbrechen Sie die Ausführung in C: Eine Anleitung zur Schlaffunktion und zu Alternativen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn