理解Process(进程)与Thread(线程)的特点,以及之间的联系。

1.     Process的一些特点:

(1)    进程是一个运行程序的实例,是一个私有空间,与相同机器上的其他进程来说,是彼此隔离的。

(2)    进程运行在一个抽象的virtual computer上,其运行时,仿佛其拥有整台计算机的资源。

(3)    多进程之间不共享内存,进程与进程之间通过消息传递进行协作。

(4)    一般来说,进程==程序==应用,但一个应用中可能包含多个进程。

2.    Thread的一些特点:

(1)    相对于进程而言,进程表示一台虚拟Computer,而线程代表一个虚拟CPU(Virtual processor),

             在某些种情况来说,线程可以说是轻量级的进程(lightweight process)。

(2)    线程之间共享相同的程序,共享相同的资源(内存,打开的文件等),线程存在于进程之中,

            “threads exist within a process"。

(3)    线程之间共享所在进程中的所有内存,而且需要特别的努力来获得线程私有的内存空间。 

(4)    可以通过创建消息队列(queue)在线程之间进行消息传递。

3.   总结:二者之间的对比。


4.    图解线程与进程的关系。

(1)    对于应用程序(application)而言,他们之间关系如图所示:

           

(2)    单线程和多线程的区别,如下图所示。


猜你喜欢

转载自blog.csdn.net/qq_38969070/article/details/80424079