对这个问题有点困惑,比如说 我有个 4 cpu , java 一个进程我开了 4 个线程 同时处理数据库 4 个表的数据(打个比方) 他们是相互没有联系的,那么我特殊操作都不做 操作系统 会 并行 (而不是并发) 同时执行这 4 个线程吗 或者我开了 4 个进程同时处理数据.
我的理解是,应该是会的,而不是出现以前网上那种很火的图 一个 cpu 在干活其他都在围观的情况
其实 只要是处于并行状态 那么肯定就是并发状态
1
Len1133 2018-03-22 11:13:35 +08:00
我想你问的是 4 个空闲的 core,你一个进程开 4 个线程。。。。我也觉得会分给 4 个 core 并发,等大佬解答
|
2
coderluan 2018-03-22 11:30:30 +08:00
为什么不自己试一下......
|
3
f2f2f 2018-03-22 11:31:53 +08:00
还得看程序本身调用逻辑,万一人家程序写死只调用一个线程,别的线程排队呢?很多游戏不都这样
|
4
kokutou 2018-03-22 11:34:36 +08:00
要看实际逻辑吧。大部分都是能的。
你要是 4 核的 cpu,然后你看到某个程序的进程最高只占用 25%的 cpu 的话,那这个程序就是单线程的没跑了。 |