为什么我们对CPU有核心/线程限制?

时间:2018-04-26 08:30:52

标签: java multithreading cpu cpu-cores

在编程多线程环境方面,当我们运行多线程应用程序时,CPU在线程之间切换。我们可以并行创建和运行数千个线程。

我不知道为什么我们在单个CPU上有一个核心/线程限制,在实际情况下不会并行运行,而只是在线程之间快速切换运行然后为什么我们有一个像8核心/ 16线程CPU?

1 个答案:

答案 0 :(得分:1)

我们使用类比

“我经营一家酒店,客人在房间之间切换。我可以同时接待数百名客人。一位客人离开房间,另一位客人进入。如果房间已满,客人在大厅等,但我很快切换它们,让每个客人都有时间在房间里。

我不知道为什么我的酒店建筑有房间限制。我的意思是我在房间之间快速切换客人然后为什么我的建筑有8个房间/ 16张床?“

hotel = CPU
room = CPU core
bed = CPU thread
guest = software thread