相同的算法,但是这个算法要重复算10000次,我希望用多个线程来提高计算速度,这样的线程该如何设计?

解决方案 »

  1.   

    这样更慢!多线程的优势是利用了系统闲置资源,比如网络带宽。你这样的话,不但不会比单线程快一点,反而会耗费时间在多线程之间的切换上!用两个线程就可以了,一个界面主线程,一个工作线程,在每次循环之前监测thread.terminated(如果你用vcl提供的线程类的话)。
      

  2.   

    你只有一个cpu是不是?无论多少线程,同时只能有一个被cpu处理,这就是关键!你要单机计算速度?就用单线程!否则cpu不但要轮流处理你的每一个线程,还要花时间去找到底下一个该执行那个线程的代码。明白了?
      

  3.   

    同意stanely(俺是邢她汉子) ,你用多线程计算起来会更慢的!