后台工作者阻止主线程.net

时间:2013-05-19 11:31:41

标签: c# multithreading backgroundworker

我们正在使用后台工作程序线程(C#.net)在Windows应用程序中异步执行某些任务(使用.net 3.5开发)....注册Do_Work事件(由Windows计时器调用RunWorkerAsync调用),这使得Web服务成为可能打电话来获取数据。有了这个,我们发现每当Do_Work被触发以获取数据时,主线程的处理都会有延迟。例如

场景1: 当Do_Work事件未被触发时,主线程在2-3秒内打开表单

场景2: 当Do_Work事件被触发时,主线程在5-8秒内打开表单

注意: 1.两个主线程,后台工作器(Do_Work)调用webservice来获取数据 2.Background worker任务完全独立于主线程任务 我们只使用多核机器....

任何帮助都很明显,谢谢

1 个答案:

答案 0 :(得分:0)

我们可以通过在客户端配置文件中应用以下设置来解决此问题。

参考.... blogs.msdn.com/b/darrenj/archive/2005/03/07/386655.aspx