1.起因
今天想把一个复杂的类抽成,多个类,这样类的功能单一,条理会更加清晰,但是这个类采用父方法采用了for循环,如下
A类,调用
for(){
B类.do()方法
}
B类
do方法{
平行逻辑方法1;
平行逻辑方法2;
平行逻辑方法3;
}
每个方法都是不同的逻辑,互不干扰,所以想给每个复杂的方法抽成一个类,但是我要在B类for循环里创建对象,但是开销会很大哦,所以我采用双检锁/双重校验锁
单例模式(很简单):参考:http://www.runoob.com/design-pattern/singleton-pattern.html
但是这里使用了volatile
关键字,知其然,知其所以然,所以我决定了解这个东东
2.基本概念
概念:Java 内存模型中的可见性、原子性和有序性。
可见性
:
可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。
可见性,是指线程之间