【发布时间】:2019-01-05 16:06:41
【问题描述】:
当我在 .NET 中将进程的优先级设置为实时时:
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime;
它在任务管理器中仅显示为“高”优先级:
如果我在任务管理器中手动将其设置为实时,然后再次执行Process.GetCurrentProcess(),ProcessPriorityClass 仍会报告为ProcessPriorityClass.RealTime。
如果我以管理员身份运行应用程序,则优先级会更改为实时,正如任务管理器所报告的那样。所以看起来,当以普通用户身份运行时,您可以将其设置为 RealTime,它会被 .NET 报告为这样,但该进程的实际优先级实际上只是 High。为什么在这种情况下 .NET 和 TaskManager 会报告不同的值?
【问题讨论】:
-
也许使用 ILSpy 会有所帮助。