【问题标题】:Multithreads on kernel内核中的多线程
【发布时间】:2012-10-02 12:01:18
【问题描述】:
在高尔文,我遇到了
最后,许多操作系统内核现在是多线程的;内核中有几个线程在运行,每个线程执行一个特定的任务。
问题 1
这并不意味着它们都将同时运行,因为在给定时间只有 1 个进程/线程可以获得对处理器的控制权,对吗?虽然他们可以做各种各样的工作,比如一个在 CPU 上,另一个在 I/O 上,比如在缓冲区中获取击键等等,对吧?
问题 2
多线程只会在多处理器系统上显示更好的性能,对吗?
【问题讨论】:
标签:
multithreading
operating-system
【解决方案1】:
答案 1:您的 CPU 的每个核心都可以在任何给定时间执行一个命令。由于几乎所有现代 CPU 都是多核的,因此如果您的应用是多线程的,您将获得更好的性能。
答案 2:在大多数情况下,即使在具有单核 CPU 的系统上,多线程也会表现出更好的性能。如果您将耗时的作业分派给多个线程,您的应用将对用户输入的响应速度更快
并行化级别如下:
- 多功能电脑
- 多处理器
- 多核
- 多线程
在更高的级别上,您会看到线程化带来的更多好处。例如,与单核(多线程)CPU 相比,您的多线程应用在多核 CPU 中运行得更好