线程和进程【超详细+拓展】
线程和进程
我们现在使用的电脑很多都是几核几线程的,一个电脑的运行性能和CPU有着很大的关系,而几核的电脑直接影响到CPU的好坏!
我们之前所使用的单核电脑,为何也可以同时开启多个应用,同时进行着不同的功能,这就说到了CPU的复制,单核的电脑系统中,会分化出多个模拟的CPU,从而带动了多个应用的同时进行!
解释
- 进程:是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配合调度的一个独立单位
- 线程:是进程的一个实体,是CPU调度合分派的基本单位,是比进程更小的能独立运行的基本单位。线程基本不拥有系统的基本资源,只拥有一些运行。
区别:
- 主要区别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响,而线程只是一个进程中不同的执行路径。
- 线程有自己的堆栈和局部变量,但线程之间没有独立的地址空间,一个线程死掉就等于一个进程死掉,所以多进程比多线程程序健壮。但在进程切换时,耗费资源过大,效率较差。
- 线程的划分尺度小于进程,使得多线程程序的并发性高
- 线程不能独立运行;进程可以跨机器迁移
拓展
进程树
举例:
- 特点:子级进程伴随着父级进程的结束而结束。而子级进程结束,不会影响到父级进程的运行。
时间片
时间片又称“量子”或“处理器片”,是分时操作系统分配给每个正在运行的进程微观上的一段CPU时间(在抢占内核中是:从进程开始运行直到被抢占的时间)。
- 时间片的拓展:
以上是,对于进程和线程的理解!