有人可以提供c ++应用程序中std::this_thread::yield()
用法的真实示例吗?
答案 0 :(得分:7)
我在std :: lock的实现中使用yield,在这里找到:
http://llvm.org/svn/llvm-project/libcxx/trunk/include/mutex
事实证明,当一次锁定多个锁/互斥锁时,如果未能获得一个,则可以在尝试使用不同的锁/互斥锁之前使用yield来使应用程序更快顺序。
在这个源代码中,我实际上是在调用sched_yield()
。但这只是为了以我想要的方式获取标头依赖性。在此平台std::this_thread::yield()
只不过是对sched_yield()
的调用:
http://llvm.org/svn/llvm-project/libcxx/trunk/include/thread