进程和线程

2019-07-14 11:41发布

进程和线程是什么含义呢?两者在OS里面是什么联系和区别呢?进程:为了能够使程序并发执行,并且对并发执行的程序加以控制和描述,于是人们引进了进程的概念。多个进程能够并发执行是因为每个进程都具有进程控制块(PCB),当你说到创建进程的时候,实际上创建的是进程实体的PCB,同样,kill进程,也是撤销进程中的PCB。进程是一个可拥有资源的独立单位和可独立调度和分配的基本单位(进程的两个属性),每次OS在创建、撤销和切换进程中,OS都必须为之付出较大的时空开销,于是限制了进程的数目。线程(Thread):为了能够使程序能够并发执行,且尽量减少系统的开销,于是人们把进程的以上的两个属性分开。线程是OS作为调度和分配的基本单位。一个进程里面往往包含多个线程。1.作为调度的基本单位来说:在传统的OS中,进程是作为调度和分派的基本单位;在引入了线程的OS中,线程是作为调度和分派的基本单位。2.并发性:在引入线程的OS中,不仅进程之间可以并发执行,而且一个进程中的线程也可以并发执行,3.拥有资源:进程是作为OS拥有系统资源的一个基本单位;线程本身不拥有系统资源,而是仅有一点必不可少的、能保证自身独立运行的资源(TCB) 。4.独立性:进程之间的独立性较高,除了共享变量之外,每个进程都拥有独立的地址空间和资源;同一个进程中的线程可以相互访问(线程是为了提高并发性而创建的)。5.系统开销:进程打,线程较小(想想引入线程的原因)6.支持多处理机系统:对于单线程进程,往往一个进程只能在一个处理机上运行;对于多线程进程,可以把多个线程分配给多个处理机处理,加速进程的完成。

热门文章