多核CPU能实现多进程并行还是能实现多线程并行呢?

如题:
单核CPU,同一时刻只能运行一个进程,有多个进程只能并发运行
但多核CPU,究竟同一时刻是并行执行多个进程还是并行执行同一个进程中多个线程呢?

阅读 4.3k
3 个回答

在多核CPU中,同一时刻可以并行执行多个进程或同一个进程中的多个线程,这取决于操作系统和CPU的调度策略。一般来说,操作系统会把不同的进程分配到不同的CPU核心上执行,从而实现多进程并行执行。而在同一个进程中,多个线程之间可以被分配到不同的CPU核心上执行,实现多线程并行执行。当然,不同的操作系统和CPU架构的调度策略可能会有所不同。

Q:单核CPU,同一时刻只能运行一个进程,有多个进程只能并发运行
A:这个世界上不存在『视频』,我们看到的视频都是画面,快速变化的画面。

CPU 同理,一个 CPU 核心,只能一次跑一个任务(不考虑超线程)。但是因为 CPU 很快,所以,CPU 可以一秒钟跑 100000个进程,让人感觉,一个 CPU 核可以跑多个进程

Q:但多核CPU,究竟同一时刻是并行执行多个进程还是并行执行同一个进程中多个线程呢?

A:多个核之间,当然可以『真并行』运行不同的进程

都可以,毕竟线程是调度的最小单位。

就是要注意线程不要访问任何共享内存区域,访问了就要同步,那就不是真正并行了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题