多核 CPU 可以 并行 处理多线程 或者多进程吗?

2018-03-22 10:53:08 +08:00
 zhangfeiwudi

对这个问题有点困惑,比如说 我有个 4 cpu , java 一个进程我开了 4 个线程 同时处理数据库 4 个表的数据(打个比方) 他们是相互没有联系的,那么我特殊操作都不做 操作系统 会 并行 (而不是并发) 同时执行这 4 个线程吗 或者我开了 4 个进程同时处理数据.

我的理解是,应该是会的,而不是出现以前网上那种很火的图 一个 cpu 在干活其他都在围观的情况

其实 只要是处于并行状态 那么肯定就是并发状态

5665 次点击
所在节点    问与答
4 条回复
Len1133
2018-03-22 11:13:35 +08:00
我想你问的是 4 个空闲的 core,你一个进程开 4 个线程。。。。我也觉得会分给 4 个 core 并发,等大佬解答
coderluan
2018-03-22 11:30:30 +08:00
为什么不自己试一下......
f2f2f
2018-03-22 11:31:53 +08:00
还得看程序本身调用逻辑,万一人家程序写死只调用一个线程,别的线程排队呢?很多游戏不都这样
kokutou
2018-03-22 11:34:36 +08:00
要看实际逻辑吧。大部分都是能的。
你要是 4 核的 cpu,然后你看到某个程序的进程最高只占用 25%的 cpu 的话,那这个程序就是单线程的没跑了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/440332

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX