- 针对任何线程(包括主线程),<thread>声明了一个命名空间std::this_thread,用以提供线程专属的global函数
- 支持的操作如下:
sleep_for()、sleep_until()
- 当处理系统时间调整时,sleep_for()和sleep_until()往往不同。(详情见此篇文章中的“七”:https://blog.csdn.net/qq_41453285/article/details/105464872)
yield()
- 函数this_thread::yield()用来告诉系统,放弃当前线程的时间切片余额是有好处的,这将使运行环境得以重新调度以便允许其他线程执行
- “放弃控制”的一个典型例子是,当等待或轮询另一线程,或等待或轮询“某个atomic flag被另一线程设定”:
- 另一个例子是,当你尝试锁定多个lock/mutex却无法取得其中一个lock或mutex,那么在尝试不同次序的lock/mutex之前你可以使用yield(),这会让你的程序更快些