程序员社区

(Java并发面试题)并行和并发有什么区别?

  • 并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑上来看那些任务是同时执行。
  • 并行:单位时间内,多个处理器或多核处理器同时处理多个任务,是真正意义上的“同时进行”。
  • 串行:有n个任务,由一个线程按顺序执行。由于任务、方法都在一个线程执行所以不存在线程不安全情况,也就不存在临界区的问题。

做一个形象的比喻:

  • 并发 = 俩个人用一台电脑。

  • 并行 = 俩个人分配了俩台电脑。

  • 串行 = 俩个人排队使用一台电脑。

alt text

赞(0) 打赏
未经允许不得转载:IDEA激活码 » (Java并发面试题)并行和并发有什么区别?

一个分享Java & Python知识的社区