C++ sleep函数用法_C++程序延时执行

使用std::this_thread::sleep_for配合chrono库实现延时,如延时2秒:std::this_thread::sleep_for(std::chrono::seconds(2)),该方法跨平台、类型安全且可读性强,推荐用于现代C++。

在C++中实现程序延时执行,常用的方法是使用标准库提供的睡眠(sleep)函数。这些函数可以让程序暂停指定的时间,适用于控制循环间隔、模拟耗时操作等场景。

C++11标准:使用std::this_thread::sleep_for

现代C++推荐使用 头文件中的功能来实现高精度延时。

  • 包含头文件:#include #include
  • 使用 std::this_thread::sleep_for() 指定等待时间
  • 时间单位由 std::chrono 提供,如 milliseconds、seconds、microseconds

示例代码:

#include 
#include 
#include 

int main() {
    std::cout << "程序开始..." << std::endl;
    
    // 延时2秒
    std::this_thread::sleep_for(std::chrono::seconds(2));
    
    // 或者延时500毫秒
    // std::this_thread::sleep_for(std::chrono::milliseconds(500));
    
    std::cout << "2秒后继续执行" << std::endl;
    return 0;
}

跨平台兼容性说明

上述方法在Windows、Linux和macOS上均可使用,是C++11及以后版本的标准做法,无需依赖系统API。

  • 优点:类型安全、可读性强、支持多种时间单位
  • 可组合使用:例如 sleep_for(2s + 500ms)(需 using namespace std::literals)
  • 适合多线程环境,不会影响其他线程运行

旧式方法(不推荐但可能遇到)

在一些老代码中可能会看到以下方式:

  • sleep(n):Linux/Unix下表示秒,需包含
  • Sleep(n):Windows API,单位是毫秒,需包含 ,注意大写S

这类方法不具备跨平台性,建议新项目统一使用 std::this_thread::sleep_for

基本上就这些。用现代C++的chrono加thread组合,写延时既清晰又可靠。