Java Lock使用

在编写代码时,使用Lock接口可以帮助你更好地控制多线程环境下的同步问题。Java提供了多种Lock实现,先介绍ReentrantLock


	//锁容器
	private Map<String, ReentrantLock> backMap = new ConcurrentHashMap<>();
	
	int count=0;
	
	/**
     * 获取锁
     * @param key
     * @return
     */
    private Lock getLock(String key) {
        // 根据key获取对应的锁,如果不存在则创建新锁
        backMap .putIfAbsent(key, new ReentrantLock());
        return backMap .get(key);
    }

	
	public void test(String param){
        
        Lock lock = getLock(param);
        //上锁
        lock.lock();
        try {
            count++;
        } catch (Exception e) {
            logger.error("操作失败", e);
        } finally {
        	//解锁
            lock.unlock();
        }
    }





你可能感兴趣的:(java,开发语言)