Package | Description |
---|---|
org.tio.utils.lock |
Modifier and Type | Method and Description |
---|---|
static void |
LockUtils.runWriteOrWaitRead(String key,
Object myLock,
ReadWriteLockHandler readWriteLockHandler)
用读写锁操作
1、能拿到写锁的线程会执行readWriteLockHandler.write() 2、没拿到写锁的线程,会等待获取读锁,注:获取到读锁的线程,什么也不会执行 3、当一段代码只允许被一个线程执行时,才用本函数,不要理解成同步等待了 注意:对于一些需要判断null等其它条件才执行的操作,在write()方法中建议再检查一次,这个跟double check的原理是一样的 |
static void |
LockUtils.runWriteOrWaitRead(String key,
Object myLock,
ReadWriteLockHandler readWriteLockHandler,
Long readWaitTimeInSecond)
运行write或者等待读锁
1、能拿到写锁的线程会执行readWriteLockHandler.write() 2、没拿到写锁的线程,会等待获取读锁,注:获取到读锁的线程,什么也不会执行 3、当一段代码只允许被一个线程执行时,才用本函数,不要理解成同步等待了 注意:对于一些需要判断null等其它条件才执行的操作,在write()方法中建议再检查一次,这个跟double check的原理是一样的 |
Copyright © 2021. All rights reserved.