在windows系统中任务管理器中有一个设置进程优先级的选项 如下图:
这个功能平时用到的不多,需要用的时候如果手动改每次程序重启后都需要再次设置挺麻烦的 这里提供一个程序设置自身优先级的代码:
将这段代码放在程序启动方法里 每次会自动设置,就不需要再手动去设置了
//获取当前自身进程 Process p = Process.GetCurrentProcess(); //设置进程的优先级 p.PriorityClass = ProcessPriorityClass.Idle;
ProcessPriorityClass枚举类说明
枚举名 | 枚举值 | 说明 |
---|---|---|
AboveNormal | 32768 | 指定进程的优先级高于 Normal 但低于 High。 |
BelowNormal | 16384 | 指定进程的优先级在 Idle 之上,但在 Normal 之下。 |
High | 128 | 指定进程执行必须立即执行的时间关键任务,如 Task List 对话框,不管操作系统的负荷如何,用户调用该对话框后均必须迅速响应。 该进程的线程优先于普通或空闲优先级类进程的线程。为进程的优先级类指定 High 这一个优先级时需谨慎,因为高优先级类应用程序几乎可以使用所有可用的处理器时间。 |
Idle | 64 | 指定此进程的线程只能在系统空闲时运行,如屏幕保护程序。 更高优先级类中运行的任何进程的线程都优先于此进程的线程。 此优先级类由子进程继承。 |
Normal | 32 | 指定进程没有特殊的安排需求。 |
RealTime | 256 | 指定进程拥有可能的最高优先级。具有 RealTime 优先级的进程的线程抢占所有其他进程的线程,包括执行重要任务的操作系统进程。 因此,执行时间并不太短的 RealTime 优先级进程可能导致磁盘高速缓存不刷新或鼠标无响应。 |