首页 > 代码库 > 线程和进程的区别

线程和进程的区别

最后总结为:

(1)名词解释:进程是程序在计算机上的一次执行活动。线程(Thread)是进程的一个实体

一个程序至少有一个进程,一个进程至少有一个线程.

(2)地址空间:进程拥有独立资源,线程共享进行资源。不同进程之间拥有独立的地址空间,而一个进程的不同线程之间共享进程的地址空间。最本质的区别

【注:从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。】

【注:进程开销大,线程开销较小。确实,这就是最基本的区别。】

(3)资源分配

进程是操作系统分配资源的单位,线程是CPU调度和分派的基本单位

线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位

(4)各自的好处

进程:多个程序可以同时加载到内存中,在操作系统的调度下,并发地执行,大大提高了CPU的利用率,进程就是为了在CPU上实现多道编程而提出的。

线程:一方面可以提高进程的并发度,线程还有个好处,就是可以有效地利用多处理器和多核计算机。

 

经典参考文章:http://www.cnblogs.com/hazir/archive/2011/05/09/2447287.html

http://blog.chinaunix.net/uid-21411227-id-1826748.html

 

线程和进程的区别