【发布时间】:2017-06-30 05:27:42
【问题描述】:
面试官问我这个问题,我想了解概念,即 CPU 使用率如何变化:
1) 如果无限循环在单核机器的单线程设计中运行
2) 如果无限循环在多核机器(4核)的单线程设计中运行
3) 如果无限循环在单核机器的多线程设计中运行
4)如果无限循环在多核机器(4核)的多线程设计中运行
5) 当应用程序的线程数多于硬件内核时会发生什么。例如:应用程序在 4 核机器上创建 30 个线程。它会提高应用程序的性能还是降低性能?
6) 当应用程序的线程数少于硬件内核时会发生什么。例如:应用程序正在 4 核机器中创建 5 个线程。它会提高应用程序的性能还是降低性能?
要求您解释这些概念,以便清楚。我有很多困惑。
【问题讨论】:
-
这取决于操作系统和操作系统使用的线程管理系统。
-
我不是反对者。但是如果我在面试的时候先被问到这4个问题,我会离开那个团队,因为这些问题实际上是没有用的。
-
“这取决于”是所有问题的正确答案
标签: java multithreading core-data cpu-usage