首页 > 解决方案 > linux -- 在用户模式下以编程方式放弃你的 CPU 时间片

问题描述

我想做的是编写如下过程:

while(forever)
     {
     do something;
     relinquish current cpu time slice;
     }

在 Linux 中是否有一些调用可以简单地终止您的时间片,以便永远循环不会占用整个 CPU 线程?我确定您可以进行另一个系统调用或其他操作,但这可能会调用不必要的内核/用户 CPU 工作,我只想说我已经完成了我的时间片和重新安排。

这种类型的调用在实时环境中也可能非常好。

标签: cpuscheduler

解决方案


sched_yield(2)系统调用完全符合您的要求。只是#include <sched.h>打电话sched_yield();


推荐阅读