SCHED_YIELD - Linux手册页

时间:2019-08-20 17:59:18  来源:igfitidea点击:

Linux程序员手册 第2部分
更新日期: 2017-09-15

名称

sched_yield-产生处理器

语法

#包括

int sched_yield(void);

说明

sched_yield()使调用线程放弃CPU。将该线程移到队列的末尾以获取其静态优先级,然后运行新线程。

返回值

成功时,sched_yield()返回0。错误时,返回-1,并正确设置errno。

错误说明

在Linux实现中,sched_yield()总是成功。

遵循规范

POSIX.1-2001,POSIX.1-2008。

备注

如果调用线程是当时最高优先级列表中的唯一线程,则在调用sched_yield()之后,它将继续运行。

可使用sched_yield()的POSIX系统在中定义_POSIX_PRIORITY_SCHEDULING。

sched_yield()的策略调用可以通过在调用者释放(大量)竞争资源(例如互斥体)时为其他线程或进程提供运行的机会来提高性能。避免不必要或不适当地调用sched_yield()(例如,当其他可调度线程所需的资源仍由调用方保留时),因为这样做会导致不必要的上下文切换,从而降低系统性能。

sched_yield()用于实时调度策略(即SCHED_FIFO或SCHED_RR)。未指定将sched_yield()与诸如SCHED_OTHER之类的不确定性调度策略一起使用,这很可能意味着您的应用程序设计已损坏。

另外参见

预定(7)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/