0

在高尔文,我遇到了

最后,许多操作系统内核现在是多线程的;内核中有几个线程在运行,每个线程执行一个特定的任务。

问题 1

这并不意味着所有这些都将同时运行,因为在给定时间只有 1 个进程/线程可以获得对处理器的控制权?虽然他们可以做各种各样的工作,比如一个在 CPU 上,另一个在 I/O 上工作,比如在缓冲区中获取击键等,对吧?

问题2

多线程只会在多处理器系统上显示更好的性能,对吗?

4

1 回答 1

3

答案 1:您的 CPU 的每个核心都可以在任何给定时间执行一个命令。由于几乎所有现代 CPU 都是多核的,因此如果您的应用程序是多线程的,您将获得更好的性能。

答案 2:在大多数情况下,即使在具有单核 CPU 的系统上,多线程也会显示出更好的性能。如果您将时间密集型作业分派给多个线程,您的应用程序将对用户输入做出更快的响应

并行化级别如下:

  1. 多计算机
  2. 多处理器
  3. 多核
  4. 多线程

在更高的级别上,您会看到线程化带来的更多好处。例如,与单核(多线程)CPU 相比,您的多线程应用程序在多核 CPU 中运行得更好

于 2012-10-11T18:35:49.997 回答