优化本地锁防止多次实例化
This commit is contained in:
parent
1f0165f2ef
commit
a483eb7629
@ -18,28 +18,18 @@ import java.util.concurrent.locks.ReentrantLock;
|
||||
* @since 1.0
|
||||
*/
|
||||
public class LocalLock implements JobLock {
|
||||
|
||||
/**
|
||||
* 防重入锁
|
||||
*/
|
||||
private static Lock LOCAL_LOCK;
|
||||
|
||||
public static Lock getLocalLock() {
|
||||
if (null == LOCAL_LOCK) {
|
||||
synchronized (LocalLock.class) {
|
||||
LOCAL_LOCK = new ReentrantLock();
|
||||
}
|
||||
}
|
||||
return LOCAL_LOCK;
|
||||
}
|
||||
private static final Lock LOCAL_LOCK = new ReentrantLock();
|
||||
|
||||
@Override
|
||||
public boolean tryLock() {
|
||||
return getLocalLock().tryLock();
|
||||
return LOCAL_LOCK.tryLock();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unlock() {
|
||||
getLocalLock().unlock();
|
||||
LOCAL_LOCK.unlock();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user