cpu 核心数和线程数之间的关系,以及 cpu.上下文切换跟核心数和线程数的关系?

回答·1
最热
最新
  • 我们常说的并发其实是基于 cpu 快速切换来说的,只有多个 cpu 才有并行的可能 cpu 核心数可以并行的同时执行相应的线程数,比如有 4 个核心,那么同时可以执行 4 个线程互不影响,但是如果只有 2 个核心,有 4 个线程要执行,那就只能通过快速切换去执行,也就是我们常说的上下文切换 在某一时刻,如果 cpu 大于或者等于线程数,那么就可以并行的执行,互不影响,如果小于,那么 cpu 会为每个线程分配一些时间片去执行,时间到了要是还没有执行完成,那线程就得暂时挂起,等待下一次拿到 cpu 使用权,下次执行的时候需要去加载到原来的一些数据,比如执行的代码位置等,这个加载过程就是上下午切换