进程就好比工厂的车间,它代表CPU所能处理的单个任务 。任一时刻,CPU总是运行一个进程 , 其他进程处于非运行状态 。一个车间里,可以有很多工人 。他们协同完成一个任务,线程就好比车间里的工人 。一个进程可以包括多个线程,车间的空间是工人们共享的 , 比如许多房间是每个工人都可以进出的 。这象征一个进程的内存空间是共享的,每个线程都可以使用这些共享内存 。
文章插图
文章插图
5、线程和进程的区别是什么【进程和线程的区别是什么,进程和线程的区别】进程与线程的区别?进程与线程的区别
方法
进程:指在系统中能独立运行并作为资源分配的基本单位 , 它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体 。
进程一般有三个状态:就绪状态、执行状态和等待状态【或称阻塞状态】;进程只能由父进程建立,系统中所有的进程形成一种进程树的层次体系;挂起命令可由进程自己和其他进程发出,但是解除挂起命令只能由其他进程发出 。
由程序段、相关的数据段和PCB三部分构成了进程实体(又称进程印像),一般,我们把进程实体就简称为进程 。
进程的特征:
1.动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的 。
2.并发性:任何进程都可以同其他进程一起并发执行 。
3.独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位 。
4.异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进 。
线程:线程是进程中的一个实体,作为系统调度和分派的基本单位 。Linux下的线程看作轻量级进程 。
线程的性质:
1.线程是进程内的一个相对独立的可执行的单元 。若把进程称为任务的话,那么线程则是应用中的一个子任务的执行 。
2.由于线程是被调度的基本单元,而进程不是调度单元 。所以,每个进程在创建时,至少需要同时为该进程创建一个线程 。即进程中至少要有一个或一个以上的线程,否则该进程无法被调度执行 。
3.进程是被分给并拥有资源的基本单元 。同一进程内的多个线程共享该进程的资源,但线程并不拥有资源,只是使用他们 。
4.线程是操作系统中基本调度单元,因此线程中应包含有调度所需要的必要信息,且在生命周期中有状态的变化 。
5.由于共享资源【包括数据和文件】 , 所以线程间需要通信和同步机制,且需要时线程可以创建其他线程 , 但线程间不存在父子关系 。
经验总结扩展阅读
- b4纸和8k纸是不是一样大,8开和B4一般大吗?
- 西瓜和酸奶可以一起榨汁吗,西瓜汁可以加酸奶吗
- 夏至日出时间,冬至日和夏至日北京日出日落的时间?
- 山药与什么相克,山药不能和什么一起吃
- 牛属于家禽还是家畜,家畜和家禽有什么区别吗
- 牡蛎和生蚝的区别是什么,牡蛎和生蚝有什么不同
- 葛粉的功效与作用,葛粉有什么作用和功效
- 8k纸和a4纸一样大么,8k纸和a4纸一样大么
- 石英表和机械表的区别是啥,石英表和机械表的区别
- 水蕨菜和山蕨菜的区别有哪些,蕨菜吃多了会怎样 吃蕨菜有什么禁忌