当前位置:嗨网首页>书籍在线阅读

07-让出处理器

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

6.3 让出处理器

虽然Linux是个抢占式多任务操作系统,它也提供了一个系统调用,支持进程主动让出处理器,并通知调度器选择新的进程来运行。

260.png 调用 sched_yield() 函数,会挂起当前正在运行的进程,然后进程调度器会选择一个新的进程来运行,就和内核主动抢占进程一样。注意,在多数情况下,系统中并没有其他就绪进程,让出的进程会立即恢复运行。由于不确定系统是否存在其他就绪进程,而且人们普遍认为应该有其他更好的选择,这一系统调用并不经常使用。

成功时,返回0,失败时,返回-1,并相应设置errno值。在包括Linux在内的多数UNIX系统上,sched_yield()不会失败,总是返回0。然而,一个严谨的程序员还是会检查其返回值:

261.png