多核cpu是怎么线程调度的?
0
打个比喻:
假设1个CPU是一个人,
那么1个人一会喝水,一会又去打字。然后,喝水喝到一半,还没来得及咽下去,就伸手打一个字,还没打完,又停下来,咽口水下去。这就是多线程了。CPU切换速度快,看起来是一起运行的,实际上是不停 的切换。
多个cpu就相当于多个人,并行的话,打个比方,就像多个人一起去搬砖一样。
多线程并不是建立在有多少个CPU的基础上进行工作,多线程主要是通过CPU的时间片技术实现,比如在1S的时间内,在第一个0,1S处理一个线程的
工作,然后会储存好当前线程的工作状态,在下一个0.1S处理另一个线程的工作,每个时间都只能处理一个线程,只不过CPU的切换速度非常的快,
我们察觉不到而已,这其实是一种伪并行,而多核的CPU则是说我们每个核都可以单独的处理一个线程,这样的话处理速度自然就比单核的来说要快了