Class StampedLockManager.Cache<T>

  • Enclosing class:
    StampedLockManager

    public static class StampedLockManager.Cache<T>
    extends java.lang.Object
    • Field Detail

      • dataSupplier

        private final java.util.function.Supplier<T> dataSupplier
      • data

        private volatile T data
    • Constructor Detail

      • Cache

        public Cache​(StampedLockManager stampedLockManager,
                     java.util.function.Supplier<T> dataSupplier)
    • Method Detail

      • refreshCacheIfNeeded

        private Lock refreshCacheIfNeeded​(Lock readLock)
                                   throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • refreshCacheIfNeeded

        private void refreshCacheIfNeeded()
                                   throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • warmUp

        public void warmUp()
                    throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException