我理解的进程和线程

进程和线程

概念:

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

从狭义来讲

进程是正在运行的程序的实例

线程(Thread)

通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。

进程与线程的区别

1. 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;

2. 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线

3. 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信

号等),某进程内的线程在其他进程不可见;

4. 调度和切换:线程上下文切换比进程上下文切换要快得多

现实映射和理解

之前进程、线程一直傻傻分不清楚。

其实差的就是把概念映射到现实当中。

比如我们打开了一个应用,这个应用在任务管理器里可以看到的就是进程:

而线程是看不见的,一个进程包含了若干个线程,线程没有自己的资源,用的是进程的资源。

打个比方,进程和线程的关系,就像古代时候:

进程是一个家族,线程是里面干具体事情的人,出去买菜要钱,钱是老爷的,钱从家族那里拿,拿到了去买菜。

然后外面就知道镇上有个家族,家族的家主叫某某某,是不会记得在下面干活的具体谁谁谁的。

家主可以和其他家主打交道,家主不知道别的家主下面有什么人,除非那个人特别优秀,毕竟层次是不一样的。

家主代表的是一个家族,一个家族有很多人组成。而干活的人就只能一个具体的人了。

让一个人去干什么,很快。但是让一个家族决定去干什么,会比较困难。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值