Answers:
操作系统无法将单个单线程进程拆分为多个内核(尽管它可能会更改应用程序在哪个内核上运行,但这是一个不同的问题),但是它可以在单个内核上运行多个进程。因此,是的,如果您在后台运行多个处理器密集型应用程序,则很可能您仍然会有一个备用核心,几乎没有做任何事或可以做任何事来运行其他应用程序。
要添加到@heavyd的答案中,其原因是操作系统无法确定进程的哪些部分可以并行运行,哪些不能并行运行。如果程序并非旨在在并行内核上运行,则可以在应用程序中包含旨在同时运行的例程。这可能会引起各种各样的问题(例如,如果两个例程使用相同的内存块,但并不意味着要同时运行)。
操作系统可以这样做,因此可以将多个内核用于多个进程,但是将单个内核应用程序分布在多个内核上会导致各种意外行为。
您最初的想法是正确的-对多个核心存在负面倾向,但这并不是应有的。
早在大多数用户仅使用台式机进行简单文字处理的时代,就有了争论。但是如今,诸如带有多个选项卡的浏览器之类的东西,每个都在各自的进程中(chrome和即对选项卡进行进程级分离),以及诸如网页中的视频解码器之类的东西以及额外的任务,这些任务很容易被即时卸载。渲染效果又称为css3,即使是仅浏览器也可以说明增加更多ram和几个内核的原因。
另外,有些用户可能也在此PC上玩游戏,或者使用诸如garageband,imovie,handbrake之类的工具,多个内核,这可能是一个巨大的好处。
假设您需要最大化(例如,单个内核上的CPU使用率为100%)一个内核才能使另一个内核有用,这是不正确的。因为我们在这里谈论并行性。CPU内的任务切换通常在将其堆栈交换到另一个进程之前执行一批操作。并非所有这些任务都是cpu绑定的,因此即使内核被锁定,您也不会看到cpu峰值。
基本上,您是对的,但是最有效的内核数量是多少?2?4?12吗 这很可能取决于用户的习惯...对于大多数用户,我倾向于2-4,但是我只是在猜测。