Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menjeda Perlaksanaan Program dalam C menggunakan Fungsi Tidur?
Dalam usaha mengawal aliran pelaksanaan program, anda mungkin menghadapi keperluan untuk menjeda atur cara untuk tempoh tertentu. Dalam C , tiada persamaan langsung dengan fungsi Sleep(time) yang biasa digunakan dalam bahasa lain. Walau bagaimanapun, perpustakaan standard C menyediakan alternatif yang berdaya maju.
C Standard Library menawarkan fungsi std::this_thread::sleep_for, yang membolehkan anda untuk menangguhkan pelaksanaan utas semasa untuk tempoh tertentu. Untuk menggunakannya, anda perlu memasukkan pengepala berikut:
<code class="cpp">#include <chrono> #include <thread></code>
Sintaks std::this_thread::sleep_for adalah seperti berikut:
<code class="cpp">void sleep_for(const std::chrono::duration& timespan);</code>
Di mana jangka masa ialah std::chrono::duration objek menentukan tempoh tidur. Untuk mencipta std::chrono::duration berasaskan milisaat, gunakan std::chrono::milisaat pembina:
<code class="cpp">std::chrono::milliseconds timespan(111605);</code>
Menggunakan komponen ini, anda boleh menghentikan pelaksanaan program anda untuk masa yang dikehendaki selang:
<code class="cpp">std::this_thread::sleep_for(timespan);</code>
Perhatikan bahawa std::this_thread::sleep_until berfungsi sebagai fungsi pelengkap untuk penyegerakan berasaskan masa yang tepat.
Sebelum pengenalan C 11, bahasa tersebut tidak mempunyai fungsi benang dan keupayaan tidur. Akibatnya, penyelesaian untuk menggantung pelaksanaan bergantung pada platform. Untuk Windows atau Unix, anda mungkin bergantung pada sesuatu seperti ini:
<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 memudahkan pelaksanaan menggunakan rangsangan perpustakaan Boost::this_thread::sleep.
Atas ialah kandungan terperinci Bagaimana untuk Menjeda Perlaksanaan Program dalam C menggunakan Fungsi Tidur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!