線程安全的計(jì)數(shù)器

使用ConcurrentHashMap和AtomicInteger實(shí)現(xiàn),示例代碼如下:

import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;

public class SynchronousCounter {

    public static void main(String[] args) {
        
        ConcurrentHashMap<String, AtomicInteger> countMap = new ConcurrentHashMap<String, AtomicInteger>();
        
        //有則放棄,無(wú)則設(shè)置
        AtomicInteger count = countMap.putIfAbsent("grid1", new AtomicInteger(0));
        System.out.print(count);
        
        //獲取并加1
        int precount = countMap.get("grid1").getAndIncrement();
        System.out.print(precount);
        
        //獲取當(dāng)前值
        int nowcount = countMap.get("grid1").get();
        System.out.print(nowcount);
        
    }

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 譯序 本指南根據(jù) Jakob Jenkov 最新博客翻譯,請(qǐng)隨時(shí)關(guān)注博客更新:http://tutorials.j...
    高廣超閱讀 5,470評(píng)論 1 68
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • 1. 原子性布爾 AtomicBoolean AtomicBoolean 類為我們提供了一個(gè)可以用原子方式進(jìn)行讀和...
    高廣超閱讀 5,817評(píng)論 1 14
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,983評(píng)論 25 709
  • 冬天吃的肉,夏天都知道。 這時(shí)節(jié),瘦高個(gè),細(xì)長(zhǎng)腿,才是王道。我雖難以望其項(xiàng)背,但也不想自暴自棄。于是,幾周來(lái),縮減...
    文靜文閱讀 157評(píng)論 0 0

友情鏈接更多精彩內(nèi)容