【发布时间】:2011-04-09 09:12:32
【问题描述】:
有人可以提供std::this_thread::yield() 在 c++ 应用程序中使用的真实示例吗?
【问题讨论】:
标签: multithreading concurrency c++11
有人可以提供std::this_thread::yield() 在 c++ 应用程序中使用的真实示例吗?
【问题讨论】:
标签: multithreading concurrency c++11
我在 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
【讨论】: