怪事,关于不同的线程设定不同的cpu的问题
yunan 2019-06-17 05:34:37 我生成了一个TIMAGE的子类,类中定义了TThread,在新线程的构造函数里,用duplicatehandle得到了该线程的handle,实测每个新生成的类,这个线程handle是不同的。然后用setthreadaffinitymask来设置该线程使用哪个cpu。结果发现,所有线程都是用的最新生成的线程定义的那个cpu。
结果就是本来我想不同的对象能使用不同的cpu运行,但实际情况时,所有的对象都把线程运行在最新的对象的线程定义的那个cpu上,当你在运行时,可以看到有一个cpu被占满了,这时生成一个新对象,就变成下一个cpu被占满。
环境是c++builder6.0