我用BackgroundWorker来处理一个计算的问题,通过窗口的状态栏来显示计算的进度条,感觉计算的速度很慢,可是当我把鼠标按在窗体上或是拖拽窗口时,处理速度明显加快,为什么会这样?

解决方案 »

  1.   

    恐怕是有高于普通线程的线程, BackgroundWorker本身的优先级很低. 
      

  2.   

    没代码很那分析问题所在。要是你的代码有问题,出这样的情况就不奇怪了。从个人测试结果来看,BackgroundWorker还不至于带来性能的明显下降。
      

  3.   

    BackgroundWorker在内部是通过异步委托来实现的,检查一下你在DoWork事件处理程序中的代码是否存在问题,在该事件处理程序中不能访问UI元素。