双CPU 禁用一个CPU怎么实现?请高手指点

解决方案 »

  1.   

    使用setprocessaffinitymask函数   
      设置进程的亲缘性
      

  2.   

    让所有进程都在一个cpu上跑可以但是要禁用cpu的话可能要用到驱动编程了
    2003里面有这个功能,但是不知道有没有函数来实现
      

  3.   

    现在就有工具可以实现指定程序运行在哪个CPU上,我就是想知道怎么实现.
    ----------
    哪裡有這工具?我現在的問題就是所有的程序都在一個 CPU 上跑
    一個忙死,一個閒死
      

  4.   

    to: fox1999(红狐)
      TaskAssign 可以实现to: yzdiyu(敌宇) 
     要程序实现
      

  5.   

    //2007-06-13新加函数只取第一个cpu的第一个核心,为了和单核的兼容
    procedure TCPUInfo.SetCPU(h: THandle;CpuNo: Integer);
    //CpuNo:决定了获得第几个cpu内核的第几个序列号。
    var
      ProcessAffinity: Cardinal;
      _SystemAffinity: Cardinal;
    begin
        GetProcessAffinityMask(h, ProcessAffinity, _SystemAffinity) ;
        ProcessAffinity := CpuNo; //this sets the process to only run on CPU 0
                                  //for CPU 1 only use 2 and for CPUs 1 & 2 use 3
        SetProcessAffinityMask(h, ProcessAffinity)
    end; 
    偷偷公布给你了,保密哈。
      

  6.   

    zhao_yong(Learn) ( ) 信誉:100 
    我只有一个CPU可以实现吗?
    ========================
    禁用了,那你的机子怎么跑啊?~~
      

  7.   

    只有一个CPU,禁用一个CPU怎么实现?
      

  8.   

    这个问题我刚好正在研究,而且已经圆满解决。告诉你个最简单有效的办法,这个办法可以停用/启用一切硬件设备。winexec('cmd /k c:\devcon.exe -enable *dev_109a*',sw_hide); 说明:devcon.exe 是微软的小工具,搜一下很多。*dev_109a* 是我的网卡的ID号,在设备管理器-硬件属性-详细资料中可以查到。我这是用通配符形式表示的,只要能唯一标识硬件就行,不用把那么长一串都抄上。enable 是参数表示启用。换成disable就是禁用。其它的不用多解释了吧。想深入了解可以查下Winexec的用法,以及devcon的详细说。这些百谷上很多。以上是经过验证的,在xp下可以控制一切硬件设备!!!!!!另请参考:http://community.csdn.net/Expert/topic/5684/5684133.xml?temp=.64172
      

  9.   

    http://coldandhot.blog.hexun.com/43744986_d.html运行: msconfig