我编写了一个 .NET winforms 应用程序,该应用程序使用辅助线程进行一些繁重的处理,将其进度传达回 UI 线程。一切正常,表单显示进度,我还创建了一个取消按钮来中断处理线程。但是,当耗时的过程正在进行应用程序时,我的整个计算机就会变慢。拖动窗口需要很长时间,尝试在记事本中输入字母时甚至会出现明显的延迟。
我假设我需要降低处理线程的优先级,和/或增加 UI 线程的优先级。这是正确的吗?现在两个线程都是正常优先级。
是不是跟下面的一样简单?或者还有什么我应该做的吗?
Thread.CurrentThread.Priority = ThreadPriority.AboveNormal;
我应该如何改变优先级?我应该降低处理的优先级,还是提高 UI 的优先级,或者两者兼而有之?什么设置?高于正常,还是最高?