>  기사  >  백엔드 개발  >  C에서 수면 기능을 구현하는 방법은 무엇입니까?

C에서 수면 기능을 구현하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-24 00:31:29561검색

How to Implement Sleep Functionality in C  ?

C의 절전 기능

C에서 개발자는 절전( ) 다른 프로그래밍 언어에서는 기능을 수행합니다. 이 문서의 목적은 이러한 요구 사항을 해결하고 포괄적인 솔루션을 제공하는 것입니다.

std::this_thread::sleep_for

C 11에서는 및 <스레드> 스레드 조작을 위한 크로스 플랫폼 표준을 제공하는 헤더입니다. 지정된 밀리초 동안 프로그램을 일시 중지하려면 std::this_thread::sleep_for 함수를 사용할 수 있습니다.

<code class="cpp">#include <chrono>
#include <thread>

std::chrono::milliseconds timespan(111605); // or whatever

std::this_thread::sleep_for(timespan);</code>

std::this_thread::sleep_until

std::this_thread::sleep_for의 대안은 std::this_thread::sleep_until로, 특정 시점에 도달할 때까지 일시 중지할 수 있습니다.

C 11 이전 솔루션

C 11 이전에는 C에 스레드 기능과 절전 기능이 부족했습니다. 따라서 플랫폼에 의존적인 솔루션이 필요했습니다. 다음은 Windows와 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>

또는 Boost::this_thread::sleep을 더 간단한 C 11 이전 접근 방식으로 사용할 수도 있습니다.

위 내용은 C에서 수면 기능을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.