【问题标题】:Multithreads on kernel内核中的多线程
【发布时间】:2012-10-02 12:01:18
【问题描述】:

在高尔文,我遇到了

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

问题 1

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

问题 2

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

【问题讨论】:

    标签: multithreading operating-system


    【解决方案1】:

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

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

    并行化级别如下:

    1. 多功能电脑
    2. 多处理器
    3. 多核
    4. 多线程

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

    【讨论】:

    • 并行化不会在线程级别停止(想想向量化等)
    • 你说得对,我的意思是高级语言中代码控制的部分
    猜你喜欢
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多