用MFC写了一个处理数据的程序。在笔记本上运行。然后看到这个程序的CPU占用率一直低于25%,最多也只能占用8个线程。这样计算太慢了,算一组数据要好几个小时。怎么加程序或者修改设置可以使CPU使用率高一点呢?比如70% 。线程数也希望多一点,比如占到50个。求教怎么修改程序。求大牛指导~新人分数不多,请见谅。。

解决方案 »

  1.   

    线程多,并不能保证占用的cpu也多,因为线程需要调度可以做个试验,一个进程,就一个主线程,然后不停地做某种运算,看cpu是多少
      

  2.   

    在多核CPU的情况下,
    如果要使用多核,那么使用 Parallel库,或者使用 openMP.
    更加重要的改进你的算法。让她沾满整个 CPU 的一个核心。
      

  3.   


    我试了一下就普通的MFC计算的程序,不做线程控制,最多只能用25%的CPU。在台式机上就是50%。怎么回事呢?
      

  4.   

    如果你没有做并行处理,
    那么在多核CPU上只用一个核心。
    两核 CPU 上只占用 50%.
      

  5.   


    请问怎么改算法,让它占满整个 CPU 的一个核心呢?
      

  6.   


    嗯,这个确实是和CPU的核个数有关的。然后怎么多核运算呢?求指教~谢谢
      

  7.   

    http://hi.baidu.com/l_rigidity/blog/item/cb2047239e2b6e58af34de6f.html
      

  8.   


    呃对不起。。我忘了开 OpenMP Support了 
    不好意思。很抱歉。然后谢谢你!
      

  9.   


    就是说在resource monitor里边看到线程数最大只能是8.
      

  10.   

    在单核或多核机上,无论你开多少个线程你只开个进程一般都是用一个CPU,可以考虑按核数开多个进程这样可充分利用CPU使CPU饱和运作。本人之前曾经做识别就是这样做的。效果还是不错的