gpt4 book ai didi

c# - 更改线程优先级以使我的程序和计算机响应更快

转载 作者:太空狗 更新时间:2023-10-29 19:38:11 25 4
gpt4 key购买 nike

我编写了一个 .NET winforms 应用程序,该应用程序使用辅助线程执行一些繁重的处理,并将其进度传回 UI 线程。一切正常,表格显示进度,我还创建了一个取消按钮来中断处理线程。但是,当耗时的过程运行时,应用程序和我的整个计算机都会变慢。拖动窗口需要很长时间,在记事本中输入字母时甚至会有明显的延迟。

我假设我需要降低处理线程的优先级,和/或增加 UI 线程的优先级。这是正确的吗?现在两个线程都是普通优先级。

是不是像下面一样简单?或者还有什么我应该做的吗?

Thread.CurrentThread.Priority = ThreadPriority.AboveNormal;

我应该如何更改优先级?我应该降低处理的优先级,还是提高 UI 的优先级,或者两者兼而有之?什么设置?高于正常水平,还是最高水平?

最佳答案

我不一定认为线程优先级是您的问题(尽管它可能是其中的一部分)。看看这个 SO 问题:Background Worker Thread Priority .

这可能是后台线程中过于紧凑的循环导致该线程占用了 CPU 时间。有几种方法可以修复它,从残酷的(线程休眠)到更合理的(互斥锁和事件)。

您还可以尝试分析后台线程(直接或在测试工具中)以查看它花费大部分时间的地方,并尝试使用异步事件或类似的卸载技术将其隔离。

关于c# - 更改线程优先级以使我的程序和计算机响应更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2231881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com