总结线程与进程的区别

一 定义

进程:指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。

线程:线程是进程中的一个实体,作为系统调度和分派的基本单位。

二 性质

进程:

1.动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。

2.并发性:任何进程都可以同其他进程一起并发执行。(多事务处理)

3.独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。

4.异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。

线程:

1.相对独立的可执行单元。

2.每个进程至少有一个线程。

3.线程并不拥有进程的资源,只是使用它们。

4.线程间有通信和同步机制,但是线程间不存在父子关系。

三 区别

1.组织形式上,进程是资源拥有的基本单位,而线程是系统调度和分派的基本单位。(为什么要这样子做了,因为在相同资源和代码段进行程序运行和系统调度时,CPU就不用再进行进程切换,从而提高效率)

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

3.线程切换效率大于进程切换效率。所消耗的系统开销也更小。

4.进程都是拥有系统资源的一个独立单位,他可以拥有自己的资源。一般地说,线程自己不能拥有资源(也有一点必不可少的资源),但它可以访问其隶属进程的资源,亦即一个进程的代码段、数据段以及系统资源(如已打开的文件、I/O设备等),可供同一个进程的其他所有线程共享。

四 联系

1.都支持并发和并行。

2.一个进程对应一个或多个线程。一个线程智能属于一个进程。

3.CPU分给线程,即在CPU上真正的是线程。

注:这是从网上总结而来,侵立删。

猜你喜欢

转载自blog.csdn.net/qq_33186766/article/details/79747941