您的位置:首页 > 其它

多线程的程序在多核CPU与单核CPU运行效率有何不同

2012-04-30 14:24 337 查看
文章出处: http://topic.csdn.net/u/20080429/17/689d07f9-1199-4c8f-b7b7-60b24609270f.html
Depends on how the OS schedule threads to CPUs, and how applications set their threads' processor affinity

In windows, the operation system does the allocation for you based on cpu usage. You can set the affinity but, it will not determine which processor you run on. On the XBox 360, the affinity is needed otherwise the 360 will not allocate your thread to
a seperate processor at all.

In Mac, threads with default affinity policy will be scheduled freely on any processor. These threads will be preferentially migrated to run on an idle processor. Threads with affinity tags will tend to remain in place.

In Linux, you can force the thread to migrate on the other cpu, by calling *_setaffinity() with different mask.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: