Rumah >pembangunan bahagian belakang >C++ >Cara Menggantung Pelaksanaan dalam C : Panduan untuk Fungsi Tidur dan Alternatif
Fungsi Tidur dalam C : Panduan Komprehensif
Tidak seperti rakan sejawatannya dalam C, C tidak mempunyai fungsi Sleep() yang jelas untuk menjeda pelaksanaan program untuk tempoh tertentu. Walau bagaimanapun, piawaian C moden memperkenalkan penyelesaian serba boleh, disediakan oleh
Menggunakan std::this_thread::sleep_for:
Ini ialah pendekatan yang disyorkan untuk C 11 dan lebih baru. Ia memerlukan satu hujah jenis std::chrono::milisaat untuk menentukan tempoh tidur.
<code class="cpp">#include <chrono> #include <thread> std::chrono::milliseconds timespan(111605); // or whatever std::this_thread::sleep_for(timespan);</code>
Alternatif Pra-C 11:
Sebelum pengenalan benang dalam C 11, penyelesaian khusus platform diperlukan. Satu pilihan ialah mentakrifkan fungsi tidur menggunakan kompilasi bersyarat:
<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>
Sebagai alternatif, anda boleh memanfaatkan perpustakaan Boost:
<code class="cpp">#include <boost/thread/thread_only.hpp> void sleep(unsigned milliseconds) { boost::this_thread::sleep(boost::posix_time::milliseconds(milliseconds)); }</code>
Fungsi Tambahan:
Selain tidur_untuk,
Atas ialah kandungan terperinci Cara Menggantung Pelaksanaan dalam C : Panduan untuk Fungsi Tidur dan Alternatif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!