多线程编程指南

实时调度

可以将实时类 (RT) 应用于整个进程或应用于进程中的一个或多个 LWP。 必须具有超级用户权限才能使用实时类。

与分时类的 nice(2) 级别不同,可以分别或联合为分类为实时类的 LWP 指定优先级。priocntl(2) 调用将影响进程中所有实时 LWP 的属性。

调度程序始终会分发优先级最高的实时 LWP。当优先级较高的 LWP 可以运行时,优先级高的实时 LWP 优先于优先级较低的 LWP。优先的 LWP 置于其级别队列的开头。

实时 LWP 始终控制着处理器,直到优先处理了 LWP、LWP 暂停或更改了其实时优先级为止。RT 类的 LWP 绝对优先于 TS 类中的进程。

新的 LWP 将继承父进程或 LWP 的调度类。RT 类 LWP 将继承父进程的时间¤ù,无论是有限的还是无限的。

有限的时间片 LWP 将始终运行,直到 LWP 终止、中断了 I/O 事件、优先级较高的可运行实时进程优先于该 LWP 执行或时间片到期为止。

只有在 LWP 终止、中断或其他实时进程优先于该 LWP 执行,时间片无限的 LWP 才停止执行操作。