What is the difference between C++11 std::this_thread::yield() and std::this_thread::sleep_for()? How to decide when to use which one?
What is the difference between C++11 std::this_thread::yield() and std::this_thread::sleep_for() ? How to decide when
Share
std::this_thread::yieldtells the implementation to reschedule the execution of threads, that should be used in a case where you are in a busy waiting state, like in a thread pool:std::this_thread::sleep_forcan be used if you really want to wait for a specific amount of time. This can be used for task, where timing really matters, e.g.: if you really only want to wait for 2 seconds. (Note that the implementation might wait longer than the given time duration)