zoukankan      html  css  js  c++  java
  • java用volatile或AtomicBoolean实现高效并发处理 (只初始化一次的功能要求)

    最近碰到一个这样的功能要求:怎么在一个类里面,实现高效并发处理下只可以初始化一次的方法?

    实现方式:

    1)volatile方式:

    1. /** 
    2.  * Created by Chengrui on 2015/7/28. 
    3.  */  
    4. public class MyThread {  
    5.   
    6.     private static volatile boolean initialized = false;  
    7.   
    8.     public void init(){  
    9.         if(initialized == false){  
    10.             initialized = true;  
    11.             //here is the initialization code  
    12.         }  
    13.     }  
    14.   
    15. }  


    2)AtomicBoolean方式:

    1. /** 
    2.  * Created by Chengrui on 2015/7/28. 
    3.  */  
    4. public class MyThread {  
    5.   
    6.     private static AtomicBoolean initialized = new AtomicBoolean(false);  
    7.   
    8.     public void init(){  
    9.         if(initialized.compareAndSet(false, true)){  
    10.             //here is the initialization code  
    11.         }  
    12.     }  
    13.   
    14. }  

    附:AtomicBoolean帮助文档:




  • 相关阅读:
    随堂练习
    随堂练习
    第六次安卓作业
    第五次安卓
    第四次安卓
    第二次安卓
    安卓作业
    第十八次上机
    第七周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/6216708.html
Copyright © 2011-2022 走看看