vb.net Web 应用程序线程

发布于 2024-12-02 21:42:46 字数 176 浏览 1 评论 0原文

我的 Web 应用程序中有一些函数需要进行大量计算,因此 CPU 使用率很高,当其他用户访问应用程序时,会影响应用程序的其余部分。

我已经尝试了backgroundworker,但没有成功,唯一似乎在使用另一个线程并将优先级设置为低时起作用,可以从工作线程更新UI吗?具体来说,我正在尝试将网格绑定到工作线程中处理的数据集

I have some functions in a web application that do a lot of calculations and as a result have high CPU usage which affects the rest of the application when other users are accessing it.

I have tried backgroundworker to no avail , the only thing that seems to work in using another thread and setting the priority to low, can the UI be updated from a worker thread? specifically I am trying to bind a grid to a dataset processed in the worker thread

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

叹倦 2024-12-09 21:42:46

如果您调用 Application.DoEvents() 定期处理Windows消息队列,这将允许UI更新并响应用户输入。

您需要了解许多人认为 DoEvents 是邪恶的。由于 UI 将响应单击等事件,因此您应该注意这可能导致的任何问题,例如允许生成许多繁重的 CPU BackgroundWorker 线程。但是,正确使用 DoEvents 可以提供有效的策略,使应用程序在处理过程中保持响应。

If you call Application.DoEvents() periodically to process the windows message queue, this will allow the UI to be updated and respond to user input.

You need to understand that many people consider DoEvents to be evil. As the UI will respond to events such as click, you should beware of any issues this can cause such as allowing many of your heavy CPU BackgroundWorker threads to be spawned. However, used correctly DoEvents provides a valid strategy for keeping your application responsive during processing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文