如何在pthread()中使用yield
How shuold use yield in pthread()?
例如,我在系统中执行活动超线程,每个内核中运行两个线程。
现在我的问题是:
当其中一个线程调用yield()
时会发生什么?
在这种情况下使用yield()
除非你有一些不寻常的特殊要求,当一个线程调用yield()
时,你应该切换到另一个准备运行的线程,让正在生成的线程准备运行。如果有多个准备运行的线程,那么切换到哪个线程取决于您。你可以选择一个分配给该核心的线程,但如果你愿意,你也可以做"线程窃取"。
相关文章:
- 在 c++11 中为 pthread 设置调度参数
- 如果我们使用 notify_one() 来唤醒线程,我们还需要 yield() - C++?
- 如果不包含 pthread,为什么 GCC 的线程标准库实现会抛出异常?
- pthread只有在线程数量较少时才可以正常工作
- pthread执行时间比顺序执行时间差
- 使用 -pthread 如何不违反 ODR 规则?
- 使用 pthread 的多线程
- 销毁 pthread 互斥体和 C++ 中的取消初始化顺序
- 函数 AfxEndThread 中的读取访问冲突"pThread-> was nullptr"
- 锁定步进pthread互斥
- Pthread段错误,使用指向main中变量的指针
- pthread导致的内存泄漏
- GCC:--静态链接到pthread的整个存档配方在最近的GCC版本中停止工作
- 正确地编写一个类,并将pthread与vlc库和c++一起使用
- 直接读取 pthread 互斥锁的所有者字段是否安全?
- 为什么 pthread 会减慢代码速度?
- 对 pthread CLion 的未定义引用
- 如果我对"while"块发表评论,为什么程序会死机?其中的"yield"线有何影响?
- C++ 17:pthread的生成文件标志
- 如何在pthread()中使用yield