Sleep-Funktionalität in C
In C müssen Entwickler häufig die Programmausführung für eine bestimmte Dauer anhalten, ähnlich wie beim Sleep( )-Funktion in anderen Programmiersprachen. Dieser Artikel soll auf diese Anforderung eingehen und umfassende Lösungen bereitstellen.
std::this_thread::sleep_for
C 11 führte den
<code class="cpp">#include <chrono> #include <thread> std::chrono::milliseconds timespan(111605); // or whatever std::this_thread::sleep_for(timespan);</code>
std::this_thread::sleep_until
Eine Alternative zu std::this_thread::sleep_for ist std::this_thread::sleep_until, das das Anhalten ermöglicht, bis ein bestimmter Zeitpunkt erreicht ist.
Pre-C 11-Lösungen
Vor C 11 fehlte C die Thread-Fähigkeit und die Sleep-Funktionalität. Daher waren plattformabhängige Lösungen erforderlich. Hier ist ein Beispiel, das sowohl für Windows als auch für Unix funktioniert:
<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 kann boost::this_thread::sleep als einfacherer Ansatz vor C 11 verwendet werden.
Das obige ist der detaillierte Inhalt vonWie implementiert man die Schlaffunktionalität in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!