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();}}