进程、线程调度、优先级与关联性

来源:互联网 发布:java web 菜鸟教程 编辑:程序博客网 时间:2024/05/21 17:37

1.载入线程上下文、让线程运行、保存上下文并重复的操作在系统启动的时候就开始,然后这样的操作会不断重复,直至系统关闭。

2.一个线程实际上有两个上下文:用户模式和内核模式。GetThreadContext只能返回线程的用户模式上下文,调用该函数前应该先调用SuspendThread,否则,系统可能正好获得调度此线程,这样一来,线程的上下文与所获取的信息就不一致了。

3.动态优先级范围:系统只提升优先级值在1~15的线程。实时范围:16~31,不能动态提升。

4.系统不允许线程改变另一个线程的I/O优先级,也不允许线程改变另一个进程中线程的I/O优先级。(SetThreadPriority,SetPriorityClass)。

5.软关联:如果其他因素都一样,系统将使线程在上一次运行的处理器上运行。让线程始终在同一个处理器上运行有助于重用仍在处理器高速缓存中的数据。

   硬关联:我们可以控制CPU,让哪些CPU运行特定的线程。

   子进程将继承进程关联性。

0 0