低优先级线程可能会使用 100% CPU
作者:BlogUpdater |
时间:2024-05-07 |
浏览:778 |
评论已关闭 条评论
经常会有人问我这样的问题:
我将一个线程设置为低优先级,当我的应用程序运行起来之后,我在任务管理器中看到应用程序占满了接近 100% 的 CPU,这就有点奇怪了,难道低优先级设定没有起作用?
我想指出的是,将一个线程设置为低优先级,并不意味着它不会占用很多 CPU,它实际的含义是:只要系统中还有其他高优先级线程,则它不会得到机会运行。
但是,如果当前系统没有其他高优先线程,而 CPU 又想找点事情做,则它会选取你的低优先级线程来运行。
如果,你的线程是 CPU 密集型计算线程,则你会发现,它会吃掉 100% 的 CPU。
线程的优先级设置只是规定了谁最先使用 CPU,但是如果当前系统没有比你的线程的优先级还高的线程,则即时你设置了线程优先级为最低,CPU 也会执行你的线程。
总结
依稀记得 《Windows 核心编程》中有一个章节专门讲述了如何设置线程的优先级,作者还编写了一个小例子来帮助读者理解。
大浪淘沙,底层的核心东西,它很少会发生变化,因此,我们不能仅满足于桌面上可以看到东西,翻开桌布,好好瞧瞧下面都有些啥好东西。
最后
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Consequences of the scheduling algorithm: Low priority threads can take 100% CPU》
最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(TopomelBox)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。
如需转载,请注明来自:拓扑梅尔智慧办公平台 | TopomelBox 官方站点
- 下一篇: 死锁调试技巧:工作线程和用户界面线程
- 上一篇: 说说以管理员身份执行的命令行的细节
相关推荐
- 第 113 期:微软计划移除 PowerShell 2.0 版本
- Posted on 07月05日
- 实战经验:获取中文的拼音表示
- Posted on 09月30日
- IContextMenu第六部分:显示菜单帮助信息
- Posted on 11月06日
- 实战经验:在Git中使用SSH密钥
- Posted on 03月14日
评论已关闭。