必威体育Betway必威体育官网
当前位置:首页 > IT技术

如何理解并发(Concurrency)和并行(Parallelism)的区别

时间:2019-11-02 21:44:31来源:IT技术作者:seo实验室小编阅读:59次「手机版」
 

parallelism

网上有很多对并发和并行的解释,讲的很多,对一些人说理解起来还是有些吃力,我这里尽量用最简单的例子说一下自己对这两个概念的解释。

并发Concurrency:一个人干多件事(一个线程处理多个任务)

例如:烧水和看报纸,一个时间区间里烧水和看报纸这两件事是可以同时进行的(一边看报,一边烧水大笑),看报的时候再时不时的看一下水开了没有

结论:单个事情的处理时间并不会缩短,无论你要烧水期间干什么事情,烧水花费的时间是不会变的,如果干的事情多了,反倒是在多个事情切换的过程中多花时间,会使所有事情加在一起总的处理效率下降(多线程的上下文切换)

并行parallelism:多个人干一件事(多个线程处理一个任务)

例如:就像盖房子(砌一面墙),一个时间区间里大家干的都是这一件事情,

结论:人越多,每人分工干一部分,就会缩短建造时间

实际应该过程中,还是需要跟据需求来决定用哪种方式,在数据处理中常用的mapreduce 设计思想其实就是并行。

文章很简短,但愿大家能理解。

文章最后发布于: 2018-05-09 14:42:20

相关阅读

并发测试工具

并发测试工具 一、Postman Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例

如何解决高并发,秒杀问题

相信不少人会被这个问题困扰,分享大家一篇这样的文章,希望能够帮到你!一、秒杀业务为什么难做?1)im系统,例如qq或者微博,每个人都读自己

(八)java并发队列

Java并发队列在并发队列上JDK提供了两套实现: 一个是以ConcurrentLinkedQueue为代表的高性能队列; 一个是以BlockingQueue接口为

Java并发编程之CyclicBarrier详解

简介栅栏类似于闭锁,它能阻塞一组线程直到某个事件的发生。栅栏与闭锁的关键区别在于,所有的线程必须同时到达栅栏位置,才能继续执行

Parallel.ForEach() 并行循环

现在的电脑几乎都是多核的,但在软件中并还没有跟上这个节奏,大多数软件还是采用传统的方式,并没有很好的发挥多核的优势。微软的并行

分享到:

栏目导航

推荐阅读

热门阅读