多线程记录

进程和线程的区别

本质区别:进程是操作系统资源分配的基本单位,线程是处理器任务调度和执行的基本单位。

包含关系:一个进程至少有一个线程,线程是进程的一部分,所以线程也叫轻量级进程。

资源开销:每个进程都有独立的地址空间,进程之间的切换有很大的开销,同一个进程里的线程共享进程地址空间,线程有自己独立的运行栈和程序计数器,线程之间的切换开销小。

影响关系:一个进程崩溃后,在保护模式下不影响其他进程,但是一个线程崩溃可能导致整个进程被操作系统杀掉,所以多进程比多线程健壮。

所谓的进程上下文,就是一个进程在执行的时候,CPU的所有寄存器中的值、进程的状态以及堆栈上的内容,当内核需要切换到另一个进程时,它 需要保存当前进程的所有状态,即保存当前进程的进程上下文,以便再次执行该进程时,能够恢复切换时的状态,继续执行。

进程的地址空间:

从上面的讨论中我们知道,到目前为止,所属线程的栈区、程序计数器、栈指针以及函数运行使用的寄存器是线程私有的。以上这些信息有一个统一的名字,就是线程上下文,thread context。

这其实就是进程地址空间的样子,也就是说线程共享进程地址空间中除线程上下文信息中的所有内容,意思就是说线程可以直接读取这些内容。

深度剖析Java的volatile实现原理,再也不怕面试官问了

https://blog.youkuaiyun.com/m0_71777195/article/details/127182156

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值