解决方案 »

  1.   

    代码就不细看了 Background线程只在系统比较闲的时候才被调用 可以在工作线程的适当位置Sleep(10)
      

  2.   

    winform绑定数据,也可以试试分页显示查询,这样数据量就会小很多,一般不会出现卡死这种情况
      

  3.   

    我刷新的是flash的图标,不是datagridview
      

  4.   

    从你代码来看,像for循环占用的就是ui线程
      

  5.   

    多线程么 概念比较宽泛了
    简单的 你就Thread thread = new Thread(DoThreadWork);
    thread.Start();void DoThreadWork()
    {
        这里做任务
    }这个可以很复杂 但你没接触过 不好深说
    最好是边做 边找些资料看看 MSDN之类的
      

  6.   

    trd_Topic线程里面执行了net_Task函数,而net_Task函数又是一个递归函数,因为在FlushClient委托中你用的是this.BeginInvoke,那么运行的代码就交给了主线程执行(UI线程),而接下来的递归函数中的代码for、foreach等循环语句都是UI线程在执行,导致你的UI界面变得很卡。个人建议,在需要更新界面UI控件的时候才用this.BeginInvoke,来更新控件,也可以用this.BeginInvoke来执行一个委托,然后委托指向一个delegate匿名方法,实现UI线程与子线程交互
      

  7.   

    没仔细看你的问题,以前也有碰到过类似,windows有机制,如果比较长的任务要作,界面出现繁忙状态.
    在合适的地方加上:Application.DoEvents();
    有可能解决你的问题,时间比较长,应该要有进度条,让用户体验比较好.