随笔分类 - 多线程
线程竞争 锁 多任务提交
摘要:在多线程环境中对于全局变量的使用,往往这个变量存在线程不安全性,通过将对象保存在ThreadLocal中,使得每个线程都拥有自己的对象,达到维持线程封闭性效果。
volatile变量上存在一种特殊的线程封闭。只要确保只有单个线程对共享的volatile变量执行写入操作,那么就可以完全的在这些共享volatile变量上执行“读取-修改-写入”操作。。。
生产环境中的案例:
登录 一般登录实现会选择在登录成功后 将user上下文对象封装在ThreadLocal对象内 ,其他线程需要用到登录的用户ID...
阅读全文
摘要:本篇文章我们来解决一个问题 这也是面试面的比较多的问题,进阶阶段(高级)一般都会问到。 volatile变量怎么保证可见性 为什么在并发情况下无法保证原子性? 比较懒了 摘了一段JVM原理的片段来描述语义: 这里只要记住尾部括号的三个点 1.从主内存到工作内存<读>:每次使用变量前 先从主内存中刷
阅读全文

浙公网安备 33010602011771号