小议进程与线程

进程与线程

一、定义:

进程:具有一定独立功能的,程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。
线程:程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,有时被称为轻量级进程(Lightweight Process,LWP)。

二、联系:

1、隶属关系:一个进程有且至少含有一个线程。一个线程只能属于一个进程。线程是进程的一个执行单元,是进程内的可调度实体。线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
2、资源关系:线程在进程内部共享地址空间、打开的文件描述符等。线程也有其自己的私有数据。线程执行开销小,但不利于资源的管理和保护;而进程则相反。
eg:线程的私有数据:唯一的线程号(thread ID)、寄存器、堆栈、信号掩码、优先级、私有的存储空间。
3、执行方式:二者均可并发执行
并发执行:并发执行只是宏观上的。在操作系统的管理下,所有正在运行的进程轮流使用CPU,每个进程允许占用CPU的时间非常短(比如10毫秒),这样用户根本感觉不出来CPU是在轮流为多个进程服务,就好象所有的进程都在不间断地运行一样。微观上 一个cpu 在同一时间一次还是只能执行一个进程。

三、区别:

1、定义: 线程是 处理器 调度的基本单位,进程是 系统 进行资源分配和调度的一个独立单位。
2、应用:多线程的意义子啊与一个应用程序中,有多个执行部分可以同时执行。
3、创建花销:创建新的进程要花费系统的资源,而创建一个进程则共享进程的地址空间,因而创建一个新的线程所花费的更小一些。
4、系统调度:因为进程的独立地址内存的特性,线程间的切换速度远大于进程。

总而言之,线程相对于进程有以下的有点:节约资源,切换速度块、线程间的通信更加方便和省时,提高响应程序的速度;多线程还可提高处理器的效率,改善程序的结构等。

四、进程与线程的属性比较:

1、进程状态分为五个基本状态:运行状态 (runnable) 、可中断等待状态(sleeping)、不可中断等待状态(uninterruptible sleep)、僵死状态(zombile)、停止状态(traced or stopped)。
线程的状态大致为三种:就绪(ready)、执行(running)、阻塞(block)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值