做并发编程之前,必须首先理解什么是并发,什么是并行,什么是并发编程,什么是并行编程。
并发(concurrency)和并行(parallellism)是:
解释一:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。
解释二:并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。
解释三:在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群
所以并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。
所有的并发处理都有排队等候,唤醒,执行至少三个这样的步骤.所以并发肯定是宏观概念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上看多个几乎同时到达的请求同时在被处理。如果是同一时刻到达的请求也会根据优先级的不同,而先后进入队列排队等候执行。
并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。
并行性指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。
并发,是在同一个cpu上同时(不是真正的同时,而是看来是同时,因为cpu要在多个程序间切换)运行多个程序。
并行,是每个cpu运行一个程序。
打个比方。并发,就像一个人(cpu)喂2个孩子(程序),轮换着每人喂一口,表面上两个孩子都在吃饭。并行,就是2个人喂2个孩子,两个孩子也同时在吃饭。
ref: http://ifeve.com/parallel_and_con/
ref: http://3961409.blog.51cto.com/3951409/759708
相关推荐
什么是并发、并行
在实际应用中,可以将并发和并行结合使用,以提高系统的性能和响应速度。例如,可以使用并发来管理多个请求的同时处理,然后在每个请求内部使用并行来加速计算任务。 ———————————————— 版权声明:...
go语言并发并行机制大揭秘,这本书里详细的讲解了关于go语言的并发和并行机制。值得一看。
http_load基于linux平台的一种性能测试工具,本款是编译为windows版本,windows下可使用。以并行复用的方式运行,用以测试web服务器的吞吐量与负载,测试web页面的性能。
NULL 博文链接:https://duhuilin01.iteye.com/blog/526157
软件工程中的并发与并行编程.pptx
软件工程中的并发与并行计算.pptx
软件工程中的并发与并行编程1.pptx
软件工程中的并发与并行计算1.pptx
并发不是并行,它更好!.现代社会是并行的:多核、网络、云计算、用户负载,并发技术对此有用。Go语言支持并发,它提供了:并发执行(goroutines),同步和消息(channels)和多路并发控制(select)。 现代社会是并行的...
15个Python的并发和并行编程的代码示例集合
30 python算法代码示例(并发和并行算法 YOLO算法).docx
java乐器源码 流行技术博客站点收录 ...并发&并行 分布式系统、高性能网站架构 大数据、搜索、推荐 编程范式 通用算法 人工智能 & 机器学习 运维&脚本&工具 Netty Python IaaS & PaaS Redis监控: 应用监控
并行计算-并发构造纵览并行计算-并发构造纵览并行计算-并发构造纵览
(2)并发性分析:最外层顺序执行,内层的两个循环实现并发。 (3)线程处理:生成n个线程,2000个数据。n-2个线程分配给当前始终点最短路径的计算,其中(n-2)/2个线程求最近顶点,(n-2)/2个线程更新最短路径数组。...
数据库思维导图——并发控制 并发控制 多事务执行方式 (1)事务串行执行 每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行 不能充分利用系统资源,发挥数据库共享资源的特点 (2)交叉并发方式...
文章目录一、并发与并行二、同步与异步三、线程锁1、GIL全局解释器锁2、同步锁3、死锁4、递归锁 在Python中GIL解释器锁、同步锁、死锁、递归锁都是什么?怎么这么多锁,它们都是用来控制进程、线程的吗?作为一个...