Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Melaksanakan Fungsi Tidur dalam C?

Bagaimana untuk Melaksanakan Fungsi Tidur dalam C?

Susan Sarandon
Lepaskan: 2024-10-24 00:31:29
asal
726 orang telah melayarinya

How to Implement Sleep Functionality in C  ?

Fungsi Tidur dalam C

Dalam C , pembangun sering menghadapi keperluan untuk menjeda pelaksanaan program untuk tempoh tertentu, serupa dengan Sleep( ) berfungsi dalam bahasa pengaturcaraan lain. Artikel ini bertujuan untuk menangani keperluan tersebut dan menyediakan penyelesaian yang komprehensif.

std::this_thread::sleep_for

C 11 memperkenalkan dan pengepala, menyediakan standard merentas platform untuk manipulasi benang. Untuk menjeda program untuk bilangan milisaat tertentu, fungsi std::this_thread::sleep_for boleh digunakan.

<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

std::this_thread::sleep_until

Alternatif kepada std::this_thread::sleep_for ialah std::this_thread::sleep_until, yang membenarkan jeda sehingga titik masa tertentu dicapai.

Penyelesaian Pra-C 11

Sebelum C 11, C tidak mempunyai keupayaan benang dan kefungsian tidur. Oleh itu, penyelesaian yang bergantung kepada platform adalah perlu. Berikut ialah contoh yang berfungsi untuk Windows dan 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>
Salin selepas log masuk

Sebagai alternatif, boost::this_thread::sleep boleh digunakan sebagai pendekatan pra-C 11 yang lebih ringkas.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fungsi Tidur dalam C?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan