进程与线程的区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/GBStyle/article/details/84960851

一个程序至少包含一个进程(其实也可以包含多个进程,具体看程序实现);

一个进程至少包含一个线程(当然了,多线程的应用就司空见惯了)。

主要的区别如下:

  • 进程拥有独立的内存单元(地址空间),是系统进行资源分配和内存调度的一个独立单位;线程间共享内存空间,是进程的一个实体,是CPU 调度的基本单位
  • 线程可与同属一个进程的其他线程共享进程内的资源
  • 进程拥有独立的地址空间,一个进程崩溃并不会影响到其他进程;而线程只是进程的不同执行路径,没有独立的地址空间,一个线程崩溃将导致整个进程死掉
  • 多进程的程序要比多线程健壮,单在进程切换过程中,耗费的资源也比较大。而且多进程在需要共享变量时候也不方便,需要用到进程间通信的一些方法。
展开阅读全文

没有更多推荐了,返回首页