并发和并行的区别

来源:互联网 发布:c语言socket编程指南 编辑:程序博客网 时间:2024/06/14 00:41

Erlang 之父 Joe Armstrong 用一张5岁小孩都能看懂的图解释了并发与并行的区别


并发是两个队列交替使用一台咖啡机,并行是两个队列同时使用两台咖啡机。并发和并行都可以是多个线程,并行是多个线程在不同cpu上同时执行,而并发是不同线程在同个cpu上交替执行。所以在并发程序设计中,因为不同线程可以先后操作同一数据,所以,数据可见性和一致性尤其重要,在java中主要通过加锁,synchronized关键字实现多个线程同步访问数据。

可参考

还在疑惑并发和并行

知乎关于并发和并行讨论

并发是不同代码块交替或同时执行的性能,而并发是不同代码块同时执行的性能。

原创粉丝点击