1.2.1 进程与线程分别是什么?又有什么联系?
Posted 小小码农,可笑可笑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.2.1 进程与线程分别是什么?又有什么联系?相关的知识,希望对你有一定的参考价值。
本章所叙述的仅仅为了铺垫后面的浏览器运行机制,因此叙述的比较简单。
- 一个进程就是一个程序的运行实例。
- 线程是不能单独存在的,它是由进程来启动和管理的。
-
进程由操作系统分配资源地址,线程由进程分配管理
举个例子,来详细阐述。如下代码放在一个进程中。
单线程:顺序执行分四步。
多线程:x,y,z同时在不同线程内执行,计算出结果后再执行result。分两步。效率上显而易见了。
方便理解,如图。
let x = 1 + 1;
let y = 2 + 2;
let z = 3 + 3;
let result = x + y + z;
单线程: 多线程:
我们再细化一下多线程的图,以便再详细解释下进程与线程的关系。
进程和线程之间的关系有以下 4 个特点:
-
进程中的任意一线程执行出错,都会导致整个进程的崩溃。(记住这句话,我们接下来的优化点会跟它有关)
-
线程之间共享进程中的数据。(线程执行出的数据分配到进程中)
-
当一个进程关闭之后,操作系统会回收进程所占用的内存(操作系统管理进程)
-
进程之间的内容相互隔离(不同进程分配不同的资源地址)
以上是关于1.2.1 进程与线程分别是什么?又有什么联系?的主要内容,如果未能解决你的问题,请参考以下文章
Java多线程 -- 什么是线程和进程线程和进程的联系(Java内存结构)并发与并行为何使用多线程使用多线程可能带来什么问题