概念
进程:资源分配的最小单位
线程:程序运行的最小单位(资源调度的最小单位)
-
进程有自己的地址空间,当一个进程建立,系统就会为它分配地址空间,而线程是共享进程的数据和内存地址,使用相同的地址空间。
-
一个进程中可以包含多个线程,但是至少有一个线程。
-
一个进程死掉不会影响其他进程,进程与进程之间相互独立,但是一个线程死掉,整个进程都死了。
-
线程之间的通信更加方便,同一进程下的线程共享全局变量,静态变量等,而进程间通信需要以IPC方式进行。
区别
线程是指进程内的一个执行单元,也是进程内的可调度实体。
与进程的区别:
- 调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
- 并发性:进程之间可以并发执行,完成多任务操作,同一个进程的多个线程之间也可以并发执行
- 拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源,共享进程资源
- 系统开销:在创建和销毁进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤销线程时的开销。