赞
踩
概念:
并发:以交替的方式 利用等待某件事情完成的时间 来做其他事情,轮流执行任务,不一定同时。宏观上同时,微观上依次执行。
并行:在同一时刻,任务同时开始进行,彼此没有依赖关系。多个任务同一时刻同时执行。
举例:
并行:食堂排队打饭,如果把每个窗口看做CPU,每个同学看作进程,那么在某一刻在各个窗口打饭的同学可以认为是并行的。
Erlang 之父 Joe Armstrong 用一张5岁小孩都能看懂的图解释了并发与并行的区别
并发:两个队列交替使用咖啡机
并行:两个队列同时使用两台咖啡机
我的理解:(面试高手回答)
并行和并发是java并发编程的一个概念,并行是指在多核 CPU 架构里面,同一个时刻,同时可以执行多个线程的能力,在单核CPU架构里,同一时刻只能运行一个线程,在4核4线的CPU架构里面,同一时刻可以运行4个线程,那么四个线程并行执行。
而并发是指在同一时刻,CPU能够处理的任务数量,也就是说CPU的一个并发能力,在单核CPU架构里,操作系统通过时间片的机制,来提升CPU的一个并发能力的,在多核CPU架构里面,基于任务并行的能力,CPU时间片的切换能力,来提升CPU的一个并发能力。
总的来说:并发是一个宏观的概念,CPU能够承载的压力的大小
并行是微观上概念,描述CPU同时执行多个任务的能力
我是小天,路虽远 行必至,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。