我试图改变一个线程的优先级,但是我无法使其起作用。我已经创建了一个按钮来在低优先级和高优先级之间切换,当我在作业列表中检查时,优先级已被更改。但 CPU 使用率并没有改变。我想知道这是否只是因为我没有使用全部 CPU 资源或者应该如何处理。
我不是在问这是否是个好主意。我在询问如何做到这一点。
以下是我改变优先级的代码,这是类的后台代码:
我不是在问这是否是个好主意。我在询问如何做到这一点。
以下是我改变优先级的代码,这是类的后台代码:
private Thread tr;
public MainWindow()
{
InitializeComponent();
tr = new Thread(new ThreadStart(infiniteLoop));
tr.Start();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
if (Process.GetCurrentProcess().PriorityClass == ProcessPriorityClass.High)
{
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Idle;
tr.Priority = ThreadPriority.Lowest;
description.Text = "Idle";
}
else
{
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;
tr.Priority = ThreadPriority.Highest;
description.Text = "High";
}
}
private void infiniteLoop()
{
while (true)
{
}
}
wpf
- 对我来说并不需要高级线程调度。 - ta.speot.is