import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
/** 内存锁工具
*/
public class LockUtil {
private static final ConcurrentMap<Object, Object> map = new ConcurrentHashMap<Object, Object>();
private static final LockUtil instance = new LockUtil();
/**
* 默认构造器
*/
private LockUtil() {
}
public static LockUtil getInstance() {
return instance;
}
public Object put(Object key, Object value) {
return map.put(key, value);
}
public Object remove(Object key) {
return map.remove(key);
}
public Object get(Object key) {
return map.get(key);
}
/**
* 获取存储内存锁的Map
* @return ConcurrentMap 内存锁Map
*/
public ConcurrentMap<Object, Object> getLockMap() {
return map;
}
}
/**使用
*/
*/
// 内存锁
LockUtil lock = LockUtil.getInstance();
try {
if (lock.get(key) == null) {
// 设置内存锁
lock.put(key, value);
} catch (Exception e) {} finally{lock.remove(key);}