简述进程、线程、串行、并行基本概念,便于快速理解

1.静态数据、动态数据

静态数据:

  • 静态数据是指一些永久性的数据,一般存储在硬盘中。
  • 计算机关闭之后再开启,这些数据依旧还在,只要你不主动删掉或者硬盘没坏,这些数据永远都在
  • 静态数据一般是以文件的形式存储在硬盘上,比如文档、照片、视频等。
    动态数据:
  • 动态数据指在程序运行过程中,动态产生的临时数据,一般存储在内存中。
  • 计算机关闭之后,这些临时数据就会被清除
  • 当运行某个程序(软件)时,整个程序就会被加载到内存中,在程序运行过程中,会产生各种各样的临时数据,这些临时数据都是存储在内存中的。当程序停止运行或者计算机被强制关闭时,这个程序产生的所有临时数据都会被清除。
    静态数据和动态数据是可以相互转换的。
2.程序、进程、线程

程序:

  • 将编译型语言(C,C++)编写好的代码通过编译工具编译之后存储在硬盘上的一个二进制文件,会占用磁盘空间,但不会占用系统资源。(QQ,微信)。

进程:

  • 程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位。
  • 例如:启动记事本
  • 程序和进程之间的关系为一对多关系。多个进程的空间是独立的
  • 相当于剧本(程序)和演出(进程)的关系,同一个剧本可以在多个舞台上同时上演,相互无影响。

线程:

  • 进程中的一个执行实例,是程序执行的最小单元,是比进程更小的能独立运行的基本单位。
  • 一个进程中至少有一个线程,我们称之为主线程(执行业务逻辑代码)
  • 一个进程中除了主线程之外,还可以创建个销毁多个线程。
  • 例如:启动程序(迅雷),系统会创建一个进程(迅雷进程),并且会默认有一个主线程,用于执行迅雷默认的业务逻辑。当利用迅雷下载多个任务的时候,会发现多个任务都在同时下载,此时为了能够同时执行下载操作,迅雷就会创建多个线程,将不同的下载任务放到不同的线程中执行。
3.串行、并行

串行:

  • 按顺序执行。在计算机中,同一时刻,只能有一条指令,在一个CPU上执行,后面的指令必须等到前面指令执行完才能执行。

并行:

  • 同时执行。在计算机中,同一时刻有多条指令,在多个CPU上执行。
4.JS是单线程、串行的

所以JS中的代码都是串行的, 前面没有执行完毕后面不能执行。

5.同步代码、异步代码

除了"事件绑定的函数"和"回调函数"以外的都是同步代码。
异步:不会立即执行。“事件绑定的函数”:只有条件触发才会执行。“回调函数”:只有条件满足才会执行。

  • 程序运行会从上至下依次执行所有的同步代码
  • 在执行的过程中如果遇到异步代码会将异步代码放到事件循环中(事件循环由系统自动添加)
  • 当所有同步代码都执行完毕后, JS会不断检测 事件循环中的异步代码是否满足条件
  • 一旦满足条件就执行满足条件的异步代码
6.JS异步编程的解决方案

使用ES6新增的Promise对象解决异步编程问题。
Promise的详细使用方法详见:promise对象基本使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值