并发安全
wengiling
从业已有10多年,经验丰富
展开
-
Happens-Before原则
1、什么是Happens-Before? 简单来说,A操作Happens-Before B操作,那A操作的结果就对B操作可见。Happens-Before主要来结果可见性的。 2、Happens-Before规则有哪些 2.1、程序顺序规则(单线程) 在一个线程中,如果B操作需要A操作的结果,那A操作的结果肯定对B可见。如下代码,由于执行重排序,A操作和C操作可能不是按顺序进行,但B操作一定在A操作和C操作之后执行。可以称作A操作Happens-Before B操作 int a ...原创 2020-12-27 23:17:35 · 293 阅读 · 0 评论 -
ThreadLocal介绍
注意:文章案例使用了lambda表达式和线程池,阅读前请先对这两种技术做简单了解。 1、介绍 ThreadLocal是维持线程封闭性的一种规范的方法,这个类能使线程中的某个值与保存值得对象关联起来。每个Thread中都有一个ThreadLocalMap,使用ThreadLocal.set方法可以将该值的副本存在当前线程中,ThreadLocal.get方法将保存的值的副本取出。 每个Thread中都有一个ThreadLocalMap,当ThreadLocal.set方法被调用时,值其实是保存在了当前线原创 2020-07-12 10:22:17 · 151 阅读 · 0 评论