最近碰到一个这样的功能要求:怎么在一个类里面,实现高效并发处理下只可以初始化一次的方法?
实现方式:
1)volatile方式:
- public class MyThread {
-
- private static volatile boolean initialized = false;
-
- public void init(){
- if(initialized == false){
- initialized = true;
-
- }
- }
-
- }
2)AtomicBoolean方式:
- public class MyThread {
-
- private static AtomicBoolean initialized = new AtomicBoolean(false);
-
- public void init(){
- if(initialized.compareAndSet(false, true)){
-
- }
- }
-
- }
附:AtomicBoolean帮助文档:


java用volatile或AtomicBoolean实现高效并发处理 (只初始化一次的功能要求)
原文:http://www.cnblogs.com/Free-Thinker/p/6216708.html