sleep跨平台的用法

Windows

在 Windows 平台上,通常使用 Sleep 函数来实现睡眠功能。

  • 包含的头文件:<windows.h>
  • 函数原型:void Sleep(DWORD dwMilliseconds);
  • 示例:
#include <windows.h>

int main() {
    Sleep(3000);  // 睡眠 3 秒钟
    return 0;
}

Unix/Linux(包括 macOS)

在 Unix/Linux 平台上,有 sleep 和 usleep 函数可用。

  • sleep 函数:
    • 包含的头文件:<unistd.h>
    • 函数原型:unsigned int sleep(unsigned int seconds);
    • 示例:
    #include <unistd.h>

    int main() {
        sleep(3);  // 睡眠 3 秒钟
        return 0;
    }

  • usleep 函数:
    • 包含的头文件:<unistd.h>
    • 函数原型:int usleep(useconds_t usec); ,其中参数为微秒。
    • 示例:
    #include <unistd.h>

    int main() {
        usleep(3000000);  // 睡眠 3 秒钟(3000000 微秒)
        return 0;
    }

需要注意的是,不同的操作系统和编译器对这些函数的实现可能会有一些细微的差异,但总体功能和用法是相似的。在实际使用时,还需要根据具体的平台和需求来选择合适的函数,并注意参数的单位和范围。

<chrono> 标准库

在 <chrono> 标准库中,C++ 提供了 std::this_thread::sleep_for 函数来实现睡眠功能。

#include <iostream>
#include <chrono>
#include <thread>

int main() {
    std::cout << "Before sleep" << std::endl;

    // 睡眠 3 秒钟
    std::this_thread::sleep_for(std::chrono::seconds(3));

    std::cout << "After sleep" << std::endl;

    return 0;
}

在上述代码中,std::this_thread::sleep_for 接受一个 std::chrono::duration 对象作为参数,指定要睡眠的时间间隔。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值