Bagaimana untuk Melaksanakan Fungsi Tidur dalam C?

Susan Sarandon
Lepaskan: 2024-10-24 00:31:29
asal
647 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!

sumber: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