第七章 线程的调度、优先级和亲缘性(7)

1、动态提高线程的优先级等级 通过将线程的相对优先级与线程的进程优先级类综合起来考虑,系统就可以确定线程的优先级等级。有时这称为线程的基本优先级等级。系统常常要提高线程的优先级等级,以便对窗口消息或读取磁盘等I / O事件作出响应。 系统只能为基本优先级等级在 1至1 5之间的线程提高其优先级等级,这个范围称为动态优先级范围。 BOOL SetProcessPriorityBoost(HANDLE hProcess ,BOOL DisablePriorityBoost); BOOL SetThreadPriorityBoost(HANDLE hThread,BOOL DisablePriorityBoost); SetProcessPriorityBoost激活或停用进程中的所有线程的优先级提高功能,SetThreadPriorityBoost激活或停用各个线程的优先级提高功能。 BOOL GetProcessPriorityBoost(HANDLE hProcess,PBOOL pDisablePriorityBoost); BOOL GetThreadPriorityBoost(HANDLE hThread,PBOOL pDisablePriorityBoost); 可以传递想要查询的进程或线程的句柄,以及由函数设置的B O O L的地址。 2、为前台进程调整调度程序 当用户对进程的窗口进行操作时,该进程就称为前台进程,所有其他进程则称为后台进程。Windows能够为前台进程中的线程调整其调度算法。 十、亲缘性 Windows 2000允许设置进程和线程的亲缘性。换句话说,可以控制哪个C P U能够运行某些线程。这称为硬亲缘性。 BOOL SetProcessAffinityMask(HANDLE hProcess, DWORD_PTR dwProcessAffinityMask); hProcess用于指明哪个进程。dwProcessAffinityMask是位屏蔽,指定线程可以在哪些C P U上运行。子进程可以继承进程的亲缘性。 BOOL GetProcessAffinityMask(HANDLE hProcess,PDWORD_PTR pdwProcessAffinityMask, PDWORD_PTR pdwSystemAffinityMask); 函数返回进程的亲缘性位屏蔽。系统的亲缘性屏蔽用于指明系统的哪个C P U能够处理线程。进程的亲缘性屏蔽始终是一个系统的亲缘性屏蔽的正确子集。 DWORD_PTR SetThreadAffinityMask (HANDLE hThread DWORD_ PTR dwThreadAffinityMask); 为线程设置亲缘性屏蔽,hThread要限制的线程dwThreadAffinityMask该线程在哪个CPU上运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值