现在超线程的CPU广泛使用,好像是一个CPU在运行环境下能模拟出两个CPU,这样能提高系统的整体性能(2000支持多CPU)。如何让我们自己写的程序也能支持多CPU的环境呢?还是在2000的环境下编写的代码就支持呢?

解决方案 »

  1.   

    win32程序一般情况下你不需要做特殊处理就能支持多CPU,线程是由系统自动分配给各CPU来执行的
      

  2.   

    对于cpu的支持是操作系统驱动的事,除非你写的是硬件相关的程序,否则不用你自己操心。
      

  3.   

    多CPU呀!不能担心,操作系统就给你搞定了。
      

  4.   

    GetProcessAffinityMask
    SetProcessAffinityMask创建多个线程,GetProcessAffinityMask判断系统中是否有多个CPU存在(物理的或者逻辑的),然后用SetProcessAffinityMask限定不同的线程可以在哪些CPU上运行。
      

  5.   

    编写多线程的程序,操作系统就会自动分配CPU
      

  6.   

    也就是多线程的程序系统会自动来分配到不同的CPU上来执行,如果该程序就只有一个主线程或者只是利用线程来完成某些局部的功能主要的事情还是有主线程来完成是不是在多CPU的系统上运行性能也得不到多大的提升?
      

  7.   

    那就撇开超线程不说。如果运行在多CPU的服务器上开发,需不需要考虑这样的问题呢?
      

  8.   

    别多想,支持多CPU,就让自己的程序支持多线程即可,操作系统回在底层进行任务上下文的转换的.
      

  9.   

    我觉得在多CPU的机子上运行的程序.是会有一些考虑的! 只是感觉.
      

  10.   

    有没有那位真正在多CPU计算机上开发软件的来谈谈这个问题?
      

  11.   

    如果是在多CPU的机器上的话,多线程的程序就要特别注意线程同步问题了.
      

  12.   

    1、先计算出CPU的Number
    2、创建线程时指定线程到cpu上
    3、激活线程。
    4、ok