浅谈进程与线程的区别和联系

1、进程和线程的概念

1) 进程在系统中能独立运行,是系统资源分配和调度的基本单位。

2) 线程是进程的实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位,是操作系统可识别的最小执行和调度单位。

 

2、进程和线程的联系

1) 一个程序至少有一个进程,一个进程可以有多个线程,但一个线程只能属于一个进程。

2) 线程可与同属一个进程的其他线程共享进程的代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储),但每个线程拥有自己的栈段(运行时段),用来存放所有局部变量和临时变量。

3) 不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行。

4) 线程在执行过程中,需要协作同步,不同进程的线程间要利用消息通信的办法实现同步。

 

3、进程与线程的区别

1) 调度:线程作为CPU调度和分派的基本单位,进程作为资源分配和调度的基本单位。

2) 拥有资源:资源分配给进程,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈)。

3) 独立性:在同一进程中的不同线程之间的独立性要比不同进程之间的独立性低得多。

4) 系统开销:启动一个线程所花费的空间远远小于启动一个进程所花费的空间,且线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。

你可能感兴趣的:(基础,进程,线程)