接口的使用
org.tio.utils.lock.ReadWriteLockHandler

使用ReadWriteLockHandler的程序包
程序包
说明
 
  • org.tio.utils.lockReadWriteLockHandler的使用

    参数类型为ReadWriteLockHandlerorg.tio.utils.lock中的方法
    修饰符和类型
    方法
    说明
    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的原理是一样的