美文网首页
C++11线程休眠

C++11线程休眠

作者: NullUser | 来源:发表于2022-12-11 12:13 被阅读0次

    线程休眠

    c++11开始,c++标准库提供了专门的线程休眠函数,可以让代码独立于不同的平台。

    sleep_for()

    std::this_thread::sleep_for();阻塞线程一段时间,sleep时间从纳秒到小时都可以。

    std::chrono::nanoseconds
    std::chrono::microseconds
    std::chrono::milliseconds
    std::chrono::seconds
    std::chrono::minutes
    std::chrono::hours
    
    • 线程休眠10秒:

      std::this_thread::sleep_for(std::chrono::seconds(10));
      
    • 线程休眠1分钟:

      std::this_thread::sleep_for(std::chrono::minutes(1));
      

    sleep_untill()

    std::this_thread::sleep_untill();休眠到某个时间点。

    • 休眠到10秒钟后的时间点

      std::chrono::system_clock::time_point timePoint = std::chrono::system_clock::now() + std::chrono::seconds(10);
      
      std::this_thread::sleep_until(timePoint);
      
    • 休眠到2030年11月12日的8点30分12秒:

      struct std::tm t{};
      t.tm_year = 2030-1900;
      t.tm_mon = 11 - 1;
      t.tm_mday = 12;
      t.tm_hour = 8;
      t.tm_min = 30;
      t.tm_sec = 12;
      std::chrono::system_clock systemClock;
      std::this_thread::sleep_until(systemClock.from_time_t(mktime(&t)));
      

    相关文章

      网友评论

          本文标题:C++11线程休眠

          本文链接:https://www.haomeiwen.com/subject/brsfqdtx.html