在学习js其余知识时,有时候会涉及到进程的问题,可是操做系统知识薄弱的我,没有办法跳过关于进程的知识,因此卡在了这里,那就顺便介绍一下我所理解的进程和线程吧!前端
由上图能够看出,他们是相互包含关系,即一个CPU中含有多个进程,一个进程又含有多块内存空间,一个内存空间中有多个线程。
ps:每一个进程中的内存空间都是共享的,也就是该进程中的线程能够出如今它的任何内存空间中。并发
咱们能够把某个学校当成是一个CPU,学校里的学院就是进程,一个学院中确定有教室,办公室,会议室以及厕所等,这些就能够看作是内存空间,那么这个学院的学生就是线程(假设学院的学生是在学院内活动)。异步
在同一个学院中的学生能够在学院的任何公共区域活动,对应的是一个进程中的每一个线程都共享内存空间,不是说每一个内存空间固定的就是那些线程。
ps:从某些角度讲,这个例子并非很合适,可是能够用来理解他们三个之间的关系。学习
注意:同步和异步是针对进程而言spa
注意:串行,并行和并发是针对线程而言操作系统
这里面的知识若是深究的话有不少,这篇文章旨在帮助理解前端会涉及的一些关于进程的概念,几乎全部的概念我都经过图示表示了,若是有错误欢迎指正!线程