内核上的多线程

时间:2012-10-11 18:18:15

标签: multithreading operating-system

在高尔文,我遇到了

  

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

问题1

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

问题2

多线程只会在多处理器系统上表现出更好的性能吗?

1 个答案:

答案 0 :(得分:3)

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

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

并行化级别如下:

  1. Mutli Computers
  2. 多处理器
  3. 多核心
  4. 多线程
  5. 在较高级别,您会看到线程带来更多好处。例如,与单核(多线程)CPU相比,您的多线程应用程序在多核CPU中运行得更好