zoukankan      html  css  js  c++  java
  • Map集合线程安全的几种实现

    Map集合线程安全的几种实现  

    2011-08-06 15:08:54|  分类: Java |  标签:map集合  线程安全  |字号 订阅

     
     原文地址:
    Map集合线程安全的几种实现
    Java
    1、使用 synchronized 关键字,代码如下 
    synchronized(anObject) {   
        value = map.get(key);}  
    2、使用 JDK1.5提供的锁(java.util.concurrent.locks.Lock)。代码如下 
    lock.lock();   
    value = map.get(key);   
    lock.unlock();  
    3、使用 JDK1.5 提供的读写锁(java.util.concurrent.locks.ReadWriteLock)。代码如下 
    rwlock.readLock().lock();   
    value = map.get(key);   
    rwlock.readLock().unlock();  
    这样两个读操作可以同时进行,理论上效率会比方法 2 高。 
    4、使用 JDK1.5 提供的 java.util.concurrent.ConcurrentHashMap 类。该类将 Map 的存储空间分为若干块,每块拥有自己的锁,大大减少了多个线程争夺同一个锁的情况。代码如下 
    value = map.get(key); //同步机制内置在 get 方法中 
    5.还有一种运用Collections类中的静态方法,运用同步方法封装非同步集合: 
    public static Map synchronizdMap(Map m)
  • 相关阅读:
    Catalan数
    完全背包
    日期问题
    01背包
    NOJ2076
    858. Prim算法求最小生成树
    839. 模拟堆
    850. Dijkstra求最短路 II
    849. Dijkstra求最短路 I
    859. Kruskal算法求最小生成树
  • 原文地址:https://www.cnblogs.com/ilahsa/p/3013915.html
Copyright © 2011-2022 走看看