【问题标题】:Multi-threading, how do concurrent threads work? [closed]多线程,并发线程如何工作? [关闭]
【发布时间】:2011-11-23 14:18:19
【问题描述】:

如果我有一个双核CPU,是否意味着它最多可以运行2个线程?

然后;如果是这样,当它们似乎受到 CPU 的限制时,如何将 4 个并发线程运行到两个? (因为它对于双核 PC 最多只能运行 2 个)。

【问题讨论】:

标签: multithreading


【解决方案1】:

这是一个非常大的问题。

基本上你是正确的,双核 CPU 当前只能执行两个线程。但是,实际上计划执行的线程多于两个。此外,操作系统可以(几乎)随时中断正在运行的线程,从而有效地停止该线程的执行以允许另一个线程运行。

影响线程如何中断和运行的因素有很多。每个线程都有一个给定的“时间片”在其中执行,并且在该时间片过去之后,该线程可能会停止以允许其他线程执行(如果有的话正在等待)。还可以分配线程优先级,允许较高优先级的任务优先于较低优先级的任务。

一些可以从主 CPU 卸载(到 GPU 或磁盘控制器)的工作也可以与其他线程并行运行。

建议你read up on the basics.

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    相关资源
    最近更新 更多