前端校招准备系列--进程和线程

前言

  在学习js其他知识时,有时候会涉及到进程的问题,但是操作系统知识薄弱的我,没有办法跳过关于进程的知识,所以卡在了这里,那就顺便介绍一下我所理解的进程和线程吧!


CPU,进程以及线程之间的关系

图解三者之间的关系

图片描述

  由上图可以看出,他们是相互包含关系,即一个CPU中含有多个进程,一个进程又含有多块内存空间,一个内存空间中有多个线程。
  ps:每个进程中的内存空间都是共享的,也就是该进程中的线程可以出现在它的任何内存空间中。

实例理解:学校分级结构

  我们可以把某个学校当成是一个CPU,学校里的学院就是进程,一个学院中肯定有教室,办公室,会议室以及厕所等,这些就可以看做是内存空间,那么这个学院的学生就是线程(假设学院的学生是在学院内活动)。

图片描述

  在同一个学院中的学生可以在学院的任何公共区域活动,对应的是一个进程中的每个线程都共享内存空间,不是说每个内存空间固定的就是那些线程。
  ps:从某些角度讲,这个例子并不是很合适,但是可以用来理解他们三个之间的关系。


同步和异步的区别

  注意:同步和异步是针对进程而言

  • 同步:进程在执行某个请求时,如果该请求需要一段时间后才返回信息时,进程会一直等待该信息返回后才进行下一步操作。生活中的例子就是,和别人打电话的过程。
  • 异步:针对上面的说法,就是不等请求返回信息,直接执行后面的操作,信息返回后再接着处理。例子就是发短信。

串行,并行和并发的区别

  注意:串行,并行和并发是针对线程而言

  • 串行:和进程中的同步类似,都是只有一个操作执行完成后,才会进行下一个操作,否则一直处于等待状态
  • 并行处理:指的是同一时间段可以同时处理多个线程,重点是要同时,即需要多个CPU处理器
  • 并发处理:指在同一个时间段多个程序都可以处于开始运行和运行完毕之间的状态,不一定要同时

总结

  这里面的知识如果深究的话有很多,这篇文章旨在帮助理解前端会涉及的一些关于进程的概念,几乎所有的概念我都通过图示表示了,如果有错误欢迎指正!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值