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帮助文档:




  • 相关阅读:
    寒假一:打印沙漏
    秋季学期总结
    三位我尊敬的老师
    自我介绍
    polay计数原理
    2020-2021 ACM-ICPC, Asia Seoul Regional Contest
    2017-2018 ACM-ICPC Northern Eurasia(A.Archery Tournament)
    FTT简单入门板子
    佩尔方程最小解模板
    求组合数
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/6216708.html
Copyright © 2011-2022 走看看