CPU为何需要多核多线程?

发布于 2022-09-12 03:11:43 字数 86 浏览 30 评论 0

CPU为何需要多核多线程?

我们知道一个进程可以开多个线程,这里我可以理解CPU可以单核多线程,但是为何需要多核多线程?这里的多核有何作用?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独守阴晴ぅ圆缺 2022-09-19 03:11:43

上大学了吗?学的是计算机相关专业吗?

《计算机组成原理》《操作系统》这两门课可以解答你的问题,回去翻书吧。


关于多核:

一言蔽之,单核 CPU 的多进程是“伪”并发,实际上同一时间只会有一个进程能调用 CPU,操作系统通过进程调度算法(如:时间片轮转调度、优先级调度、多级队列调度等等)在多个进程间不停切换,只不过因为 CPU 运算速度非常快,这个切换的过程通常是纳秒级的,所以人是感知不到的,以为是有很多个进程在同时执行。

多核才是“真”并发。


关于多线程:

进程的创建销毁开销很大,所以又引入的更加轻量级的线程。

后来又嫌弃线程的开销也很大,又引入了更轻量级的协程。


具体的还是要看书,这玩意儿上学的时候花几节课的时间给你讲,凭啥在网上三两句话就能从头给你讲明白?

梦中的蝴蝶 2022-09-19 03:11:43

一个CPU下的多线程是轮流执行的,也就是说单CPU下的多线程只是在多个任务之间快速的切换,让你觉得多个任务在并行的执行而已。
一旦某个线程进行了大运算量的计算,把CPU都占用了,这个CPU下的其它线程就没机会或只有很少的时间片在运行了,这时候你就会觉得很卡。
而多核下的多线程,即使某个CPU被计算100%占用了,其它核心不受影响,仍然可以处理线程的调度。只有多核下的多线程才能实现真正的并行。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文