Heim >Backend-Entwicklung >C++ >So unterbrechen Sie die Ausführung in C: Eine Anleitung zur Schlaffunktion und zu Alternativen
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
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
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!