线程休眠
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)));
网友评论