大厂面试:volitail实现原理

Posted go大鸡腿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大厂面试:volitail实现原理相关的知识,希望对你有一定的参考价值。

面试

大厂面试都是要往深里面讲,有次面腾讯还有网易,都是让我往深讲,基本原理就是不听,哈哈。

volitail介绍

实现了可见性,但是没有实现原子性,所以是线程不安全的。

其次怎么实现的可见性呢?

在这里插入图片描述
由于存在线程内存,所以线程修改完需要刷新到主内存里面,保证其他线程也能看到。

操作系统层实现

msi协议
在这里插入图片描述
m修改 s共享 i已失效

当share状态的时候,变成其他状态的时候会主动写回主线程,其他线程将变量失效。

防止指令重排序

就是操作系统会对指令进行相应的优化,指令顺序发生变化但是结果不变。
这个时候可能会导致代码顺序会发生先后顺序的变化。

线程安全的三个原则

可见性,原子性,有序性

以上是关于大厂面试:volitail实现原理的主要内容,如果未能解决你的问题,请参考以下文章

面朝大厂面试官:你能说说 Nacos 的实现原理吗?

大厂面试必知必会:图解分布式事务实现原理

大厂高级工程师面试必问系列:Java动态代理机制和实现原理详解

大厂Mysql高频面试题!Java黑科技实现原理揭秘,值得推荐!

大厂面试题详解:如何用Redis实现分布式锁?

Handler面试必问八大题:如何深挖原理进大厂?1万+字带你详细剖析