双核CPU,多线程负载不均衡问题
程序的主要结构如下:
Thread1()
{
//线程1函数
};
Thread2()
{
//线程2函数
};
main()
{
CreatThread1();//创建线程1
CreatTrhead2();//创建线程2
}
程序的结构如上所示,在主程序里创建了两个线程,两个线程执行几乎相同的程序,也就是说两个线程的计算量是相似的。该程序运行在双核处理器上。在windows任务管理器中观察两个CPU的使用率,为什么一个CPU占用率在80%,而另外一个却只有10%左右。两个线程不是应该在两个CPU上同时运行么?占用率为何有这么大的差距?百思不得起解,望各位帮忙,谢谢。在线等。