有多少线程可以在单个 CPU 中或跨所有 CPU 并行执行? [复制]

Posted

技术标签:

【中文标题】有多少线程可以在单个 CPU 中或跨所有 CPU 并行执行? [复制]【英文标题】:How many threads can execute in parallel in a single CPU or across all CPUs? [duplicate] 【发布时间】:2021-10-13 04:55:12 【问题描述】:

我了解异步任务和线程的一般概念。

我想问:

单个 CPU 中可以并行运行多少个线程?

可以在所有 CPU 上并行运行多少线程?

【问题讨论】:

仅供参考,异步任务并不总是占用线程:blog.stephencleary.com/2013/11/there-is-no-thread.html 例如具有 8 个物理内核和 16 个逻辑内核的 Ryzen 7-5800X,这要归功于我忘记名称的技术,可以在级别上并行执行 16 个真实线程您可以在 Windows 任务管理器或其他图表上看到处理器本身的同时。 【参考方案1】:

每个 CPU 核心在任何给定时刻只能运行一个线程。所以例如在四核机器中,可以运行in parallel 的最大线程数是4。

【讨论】:

以上是关于有多少线程可以在单个 CPU 中或跨所有 CPU 并行执行? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

我怎么知道所有线程使用了多少 CPU 时间? [复制]

如何查看linux线程 运行在哪个cpu核上

cpu个数、核数、线程数的关系

读 perf 笔记 简写

关于进程和线程

Linux 进程、线程和CPU的关系,cpu亲和性