C ++ 11 threads 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.

At least prevent the current thread of execution within a specified sleep_duration.

Due to scheduling or resource contention delay, this feature may be blocked longer than sleep_duration.

The standard recommends using a stable clock to measure the duration. If implemented in place of the system clock, the latency may also be sensitive to clock adjustment.

Published 257 original articles · won praise 22 · views 90000 +

Guess you like

Origin blog.csdn.net/qq_24127015/article/details/104812033