一个关于多线程编程,线程数设定的问题

大家都知道,进行多线程编程,把开启线程数设为处理器核心数,可以避免时间片切换。我想问下,如果是4核8线程,这种处理器,线程数设置成4好呢?还是设置成8?

你即使把线程数设定得比核心数小也避免不了时间片切换,因为任何时候都几乎不可能只有你的程序在运行。还没算上其他应用软件,操作系统都有大把的线程在运行呢。具体设置多少看需求了,反正计算机总的运算频率就那么多,你的程序线程越多,占用CPU的频率就越高,运行一般也越块。如果你的程序占用CPU频率过大,会造成其他程序运行慢,所以你看着办吧。