【问题标题】:Is it true that multi-threading cannot take advantage of multiprocessing? If so, why?多线程不能利用多处理是真的吗?如果是这样,为什么?
【发布时间】:2017-09-07 16:04:19
【问题描述】:

我有点困惑。多线程涉及并行处理,那么为什么我们不能使用多个内核来运行不同的线程呢? 我在此链接中找到了此声明- https://www.tutorialspoint.com/operating_system/os_multi_threading.htm 请解释“多线程应用程序不能利用多处理”这一说法。

提前致谢。

【问题讨论】:

    标签: multithreading process operating-system multiprocessing


    【解决方案1】:

    这句话中的多处理是关于多个进程,而不是处理器。

    属于同一进程的线程不是隔离的。例如,当一个线程崩溃时,整个程序都会崩溃。

    UPD:抱歉,我重新阅读了这篇文章,发现我最初的回答是错误的。作者似乎考虑在没有任何并行化的情况下从同一执行单元执行软件“模拟”线程。在实践中你几乎找不到这样的线程库实现。大多数线程库都由内核线程支持。

    【讨论】:

    • 那么我可以说同一个进程的多个线程可以在多个内核上执行吗?
    • 通常,是的,你可以
    • 有一些太监变种,其中线程只能在单核上执行。然而,它们越来越成为例外情况。
    猜你喜欢
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 2011-08-25
    • 2017-06-21
    • 1970-01-01
    • 2021-08-22
    • 2021-08-26
    • 2017-09-24
    相关资源
    最近更新 更多