Fonctionnalité Sleep en C
En C , les développeurs rencontrent souvent le besoin de suspendre l'exécution du programme pendant une durée spécifique, similaire à Sleep( ) fonctionnent dans d’autres langages de programmation. Cet article vise à répondre à cette exigence et à fournir des solutions complètes.
std::this_thread::sleep_for
C 11 a introduit le
<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
Une alternative à std::this_thread::sleep_for est std::this_thread::sleep_until, qui permet de faire une pause jusqu'à ce qu'un moment précis soit atteint.
Solutions pré-C 11
Avant C 11, C manquait de capacités de thread et de fonctionnalités de veille. Des solutions dépendant de la plateforme étaient donc nécessaires. Voici un exemple qui fonctionne à la fois pour Windows et Unix :
<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>
Alternativement, boost::this_thread::sleep peut être utilisé comme une approche pré-C 11 plus simple.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!