vb.net Web应用程序线程

时间:2011-08-31 22:17:41

标签: vb.net multithreading performance web-applications backgroundworker

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

我尝试过后台工作无济于事,唯一可以使用另一个线程并将优先级设置为低的工作,是否可以从工作线程更新UI?具体来说,我试图将网格绑定到工作线程

中处理的数据集

1 个答案:

答案 0 :(得分:0)

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

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