美文网首页
线程安全的计数器

线程安全的计数器

作者: 索耐 | 来源:发表于2017-04-13 11:50 被阅读0次

使用ConcurrentHashMap和AtomicInteger实现,示例代码如下:

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>();
        
        //有则放弃,无则设置
        AtomicInteger count = countMap.putIfAbsent("grid1", new AtomicInteger(0));
        System.out.print(count);
        
        //获取并加1
        int precount = countMap.get("grid1").getAndIncrement();
        System.out.print(precount);
        
        //获取当前值
        int nowcount = countMap.get("grid1").get();
        System.out.print(nowcount);
        
    }

}

相关文章

网友评论

      本文标题:线程安全的计数器

      本文链接:https://www.haomeiwen.com/subject/qdlbattx.html