问题:线程与进程的区别和联系?
2020-05-15 本文已影响0人
姜小舟
线程和进程的联系:
- 线程是CPU独立运行和独立调度的基本单位(可以理解为一个进程中执行的代码片段)。
- 进程是资源分配的基本单位(进程是一块包含了某些资源的内存区域)。
- 进程和线程都是由操作系统所负责的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。
- 进程是线程的容器,真正完成代码执行的线程,而进程则作为线程的执行环境。
- 一个程序至少包含一个进程,一个进程至少包含一个线程,一个进程中的所有线程共享当前进程所拥有的资源。
线程和进程的区别:
线程和进程最大的区别就是它们是操作系统的两种资源管理方式:
- 进程有独立的地址空间,一个进程奔溃后,在保护模式下不会对其它进程产生影响
- 线程只是一个进程中的不同的执行路线,线程有自己的堆栈和局部变量,但是线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮
- 在进程切换时,耗费资源较大,效率要差一些,但是对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。