所谓的老程序也就是双核CPU没普遍使用之前的程序
主要表现是 本程序启动了几个服务 在单核CPU上停掉其中一个服务后 其他服务照常运行
而在双核的机器上 同一段代码却把所有的服务都停了 
大侠们帮着想想大概都可能是哪里的问题呢思路即可

解决方案 »

  1.   

    给你个思路吧,一般来说程序几乎和运行在几核无关的,也就是不关心几核,几乎都被操作系统给透明化了,但是如果你的程序有很底层的依赖就有问题了, 有个API SetThreadAffinityMask 或许你解决这个问题时能用到 Good Luck!
      

  2.   

    我也有同样的疑问:对于多核或者多CPU的程序,多线程是否需要自己分配那个核、CPU运行自己的程序线程?一直很是纳闷,到底应用编程是否需要考虑多核的影响。我观察了几个多线程程序,发现即使在多核CPU机器上面,它也是只能使用一个CPU运行,也就是最多50%的CPU占用率。请高人回答解惑。
      

  3.   

    不知道你的测试程序是不是写了个本来在单核上会占用接近100%的代码,比如 while(1); 这样的东西,如果你只是在一个线程执行了这样的东西,那么双核下你的CPU最高估计也就是在50%左右,也就是说 你写必须写两个线程,而且两个线程都执行类似while(1); 此时你看看你的CPU 应该100%左右了,因为一个线程占一个核,即便100% 仍然算你总体50%, 两个都100%自然总体100%.