shuold如何在pthread()中使用yield?

时间:2015-08-17 17:18:19

标签: c++ multithreading ubuntu

例如,我在我的系统中进行活动超线程,每个核心运行两个线程。

现在我的问题是:

当其中一个线程调用yield()时会发生什么?

在这种情况下使用yield()确实如此。

1 个答案:

答案 0 :(得分:0)

除非你有一些不寻常的特殊要求,否则当一个线程调用yield()时,你应该切换到另一个准备运行的线程,让离线线程准备好运行。如果有多个,可以切换到哪个准备运行的线程取决于您。您可能更喜欢分配给该核心的线程,但如果您愿意,也可以执行“线程窃取”。