一些基本概念的理解


前言

本文用来记录对编程学习中一些常见基本概念的理解


提示:以下是本篇文章正文内容,下面案例可供参考

一、并发和并行

1.1 形象化理解

并行:同一时刻,可以同时处理事情的能力(强调同一时刻

举例:比如说一个食堂,有8个窗口,同一时刻可以有8个人同时打饭,那么我们就说这个食堂并行能力是8

并发:与单位时间相关,在单位时间内可以处理事情的能力(强调时间段内

举例:比如说一个食堂,有8个窗口,每个窗口打饭需要花费30秒,那我们就说这个食堂的并发能力是每分钟16个。

并行和并发

1.2 三个角度的对比解释

解释一:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。
解释二:并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。
解释三:并行是在多台处理器上同时处理多个任务。如 hadoop 分布式集群,并发是在一台处理器上“同时”处理多个任务。

并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。

并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。

并发和并行的区别

延伸阅读
我已经理解了并发和并行的区别

二、程序、任务、进程和线程的联系与区别

1.概念

程序是一组指令的有序集合
任务是一个一般性的术语,指由软件完成的一个活动,一个任务既可以是一个进程,也可以是一个线程。它指的是一系列共同达到某些目的的操作。例如读取数据并讲数据放在内存中,这个任务可以作为一个进程来实现,也可以作为一个线程来实现。
进程通常指程序的执行
线程是某一进程中一路单独运行的程序

延伸阅读
进程与线程的一个简单解释


总结

待补充

参考文档:1. https://www.jianshu.com/p/cbf9588b2afb
2. https://www.cnblogs.com/coder-lzh/p/10646207.html#_label3
3.http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值