Rumah > pembangunan bahagian belakang > C++ > Cara Menggantung Pelaksanaan dalam C : Panduan untuk Fungsi Tidur dan Alternatif

Cara Menggantung Pelaksanaan dalam C : Panduan untuk Fungsi Tidur dan Alternatif

DDD
Lepaskan: 2024-10-23 19:50:02
asal
603 orang telah melayarinya

How to Suspend Execution in C  : A Guide to the Sleep Function and Alternatives

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 dan pengepala.

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

Fungsi Tambahan:

Selain tidur_untuk, header menyediakan sleep_until untuk menjeda pelaksanaan sehingga titik masa tertentu. Ini menawarkan lebih fleksibiliti dan membolehkan kawalan yang lebih tepat ke atas tempoh tidur.

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan