C++11 线程 sleep_for

#include "stdafx.h"
#include <iostream>
#include <chrono>
#include <thread>

int main()
{
	using namespace std::chrono_literals;
	std::cout << "Hello waiter\n" << std::flush;
	auto start = std::chrono::high_resolution_clock::now();
	//std::this_thread::sleep_for(2s);
	std::this_thread::sleep_for(std::chrono::seconds(2));
	auto end = std::chrono::high_resolution_clock::now();
	std::chrono::duration<double, std::milli> elapsed = end - start;
	std::cout << "Waited " << elapsed.count() << " ms\n";
    return 0;
}

Blocks the execution of the current thread for at least the specified sleep_duration.

This function may block for longer than sleep_duration due to scheduling or resource contention delays.

The standard recommends that a steady clock is used to measure the duration. If an implementation uses a system clock instead, the wait time may also be sensitive to clock adjustments.

至少在指定的sleep_duration内阻止当前线程的执行。

由于调度或资源争用延迟,此功能可能阻塞的时间比sleep_duration长。

该标准建议使用稳定的时钟来测量持续时间。 如果实现使用系统时钟代替,则等待时间也可能对时钟调整敏感。

发布了257 篇原创文章 · 获赞 22 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_24127015/article/details/104812033
今日推荐