并发与并行
有这么一个问题: “并发和并行之间的区别是什么?用5岁小孩能听懂的话解释.”
Erlang之父Joe Armstrong给出了他的答案: 原文
Concurrent
Two queues and one coffee machine.
Parallel
Two queues and two coffee machines.
- 串行是一堆人排队使用一台咖啡机
- 并发是两队人交替使用一台咖啡机
- 并行是两队人同时使用两台咖啡机
也即:
- 串行是一个CPU顺序执行一队任务
- 并发是一个CPU交替执行两队任务
- 并发是两个CPU同时执行两队任务