进程与线程的理解及区别

概念

进程:资源分配的最小单位
线程:程序运行的最小单位(资源调度的最小单位

  • 进程有自己的地址空间,当一个进程建立,系统就会为它分配地址空间,而线程是共享进程的数据和内存地址,使用相同的地址空间。

  • 一个进程中可以包含多个线程,但是至少有一个线程。

  • 一个进程死掉不会影响其他进程,进程与进程之间相互独立,但是一个线程死掉,整个进程都死了。

  • 线程之间的通信更加方便,同一进程下的线程共享全局变量,静态变量等,而进程间通信需要以IPC方式进行。

区别

线程是指进程内的一个执行单元,也是进程内的可调度实体。

与进程的区别:

  1. 调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
  2. 并发性:进程之间可以并发执行,完成多任务操作,同一个进程的多个线程之间也可以并发执行
  3. 拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源,共享进程资源
  4. 系统开销:在创建和销毁进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤销线程时的开销。

猜你喜欢

转载自blog.csdn.net/qq_30722795/article/details/108159587
今日推荐