linux的线程与进程区别
学习记录
进程和线程的区别于联系(2,3,4)
- 概念
进程:是正在运行的程序,是系统分配资源的最小单位
线程:是进程中执行的一条路径,是系统调度的最小单位 - 关系
2.1一个进程可以有多个线程,一个线程只能属于一个进程(隶属)
2.2同一个进程下的所有线程共享该进程下的所有资源(资源)
2.3真正在处理机上运行的是线程而不是进程,线程是进程内的一个执行单元,是进程内的可调度实体(运行实体)。 - 区别
调度:线程为调度的基本单位,进程是作为拥有资源的基本单位
并发性:进程之间和线程之间都可以并发执行
资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源,线程有自己的栈空间和程序计数器
系统开销:进程开销大于线程开销,线程的上下文切换速度远快于进程间上下文切换。
对于每一个进程内的多个线程,static data segment(包括全局变量、static对象)、Heap(堆,malloc和new分配的空间)是共享的。每个线程有自己独立的Stack(栈),存储局部变量。
随笔
https://blog.youkuaiyun.com/zengzhihao/article/details/79470313