DataGridView有5000条记录,我现在是通过循环逐条记录处理。但是速度有点慢。我现在想通过多个线程处理,不知道是否可以实现?也就是分5个线程处理这5000条记录,每个线程处理1000条。请问这种可以实现吗?由于我对多线程不太了解,麻烦各位给出简单示范或者代码最好了,谢谢。还有,通过TIMER是否可以实现这种功能?

解决方案 »

  1.   

    你要说明哪些阻塞式操作使得CPU利用率很低,只有这个时候才可能需要多线程编程。仅凭你所说的这只言片语,我看不出有什么多线程编程的必要。
      

  2.   

    我觉得在个位数CPU核心的机器的情况下 多线程更多的还是解决了同时做多件事情的问题 而不是执行快慢的问题~
      

  3.   

    开多线程不是白开的 线程间切换有上下文开销 搞不好比原来还要慢 要是你拿了个8核的cpu来做这个五个线程的任务那就另当别论了
      

  4.   


    一个线程处理5000记录需要5分钟,分成五个线程抢占CPU,那么每一个线程处理1000条记录可能反而需要6分钟,最后你分成5个线程处理结果可能就需要6分钟才完成。给你时间,慢慢搞懂什么是多线程吧。
      

  5.   

    一般像这样问题使用委托就搞定了,是否使用几个线程还规定处理数量从来没考虑过,看起来就很麻烦.
    this.BeginInvoke(new Action(() => {/*放进原代码*/}));