我的一个多线程的程序,在普通CPU的机器上运行一切正常,可现在在P4-HTCPU的机器上运行就出现了异常,后台工作线程被SuspendThread后就不能被唤醒了,导致数据丢失,各位有类似问题帮我看看。

解决方案 »

  1.   

    程序不是超线程的,也没有做过超线程的东东
    我现在想通过这种方法解决:使用CPUID指令来检测CPU是否使用HT技术,若使用的话就用SetThreadAffinity来强制前后台线程使用同一个CPU
    但不知道应该怎么做,还请有经验的朋友指点。
      

  2.   

    刚才查到资料说Windows2000不支持超线程,我在BIOS中关闭了超线程支持后程序运行就正常了,这是不是Windows2000本身的原因造成的呢?有机会我会试试在XP下运行试试。
      

  3.   

    2000本身支持HT有问题,M$自己承认过的……
      

  4.   

    目前在微软的操作系统中只有Windows XP及以上的版本才能正式支持“超线程”技术,Windows 98/Me/2000均不支持此项功能。