最后总结为:
(1)名词解释:进程是程序在计算机上的一次执行活动。线程(Thread)是进程的一个实体。
一个程序至少有一个进程,一个进程至少有一个线程.
(2)地址空间:进程拥有独立资源,线程共享进行资源。不同进程之间拥有独立的地址空间,而一个进程的不同线程之间共享进程的地址空间。最本质的区别
【注:从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。】
【注:进程开销大,线程开销较小。确实,这就是最基本的区别。】
(3)资源分配
进程是操作系统分配资源的单位,线程是CPU调度和分派的基本单位
线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位
(4)各自的好处
进程:多个程序可以同时加载到内存中,在操作系统的调度下,并发地执行,大大提高了CPU的利用率,进程就是为了在CPU上实现多道编程而提出的。
线程:一方面可以提高进程的并发度,线程还有个好处,就是可以有效地利用多处理器和多核计算机。
经典参考文章:http://www.cnblogs.com/hazir/archive/2011/05/09/2447287.html