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/。