1

如果你进入任务管理器,右键单击一个进程,并将优先级设置为实时,它通常会阻止程序崩溃,或者让它们运行得更快。

在编程环境中,这是做什么的?

4

3 回答 3

2

它调用SetPriorityClass()

每个线程都有一个基本优先级,由线程的优先级值和它的进程的优先级等级决定。系统使用所有可执行线程的基本优先级来确定哪个线程获得下一个 CPU 时间片。SetThreadPriority 函数允许设置线程相对于其进程的优先级的基本优先级。有关详细信息,请参阅计划优先级。

于 2011-09-25T05:16:58.197 回答
1

它告诉寡妇调度程序在为您的进程分配执行时间片时或多或少是贪婪的。实时执行使其永远不会产生执行(根据 MSDN,即使对驱动程序也不会产生),如果它等待外部事件但没有自己的产生(如SleepSwitchToThreadWaitFor[Single|Multiple]Objects),这可能会导致您的应用程序停顿,因此使用实时应该是避免,除非您知道应用程序将正确处理它。

于 2011-09-25T05:15:37.543 回答
0

它通过更改 OS 任务调度程序中赋予此进程的权重来工作。您的 CPU 一次只能执行一条指令(说得非常非常简单),操作系统的工作是不断交换每个正在运行的进程的指令。通过提高或降低优先级,您将影响相对于当前正在执行多任务的其他应用程序在 CPU 中分配的时间。

于 2011-09-25T05:16:57.513 回答