Class WatcherCleaner

  • All Implemented Interfaces:
    java.lang.Runnable

    public class WatcherCleaner
    extends java.lang.Thread
    Thread used to lazily clean up the closed watcher, it will trigger the clean up when the dead watchers get certain number or some number of seconds has elapsed since last clean up. Cost of running it: - need to go through all the paths even if the watcher may only watching a single path - block in the path BitHashSet when we try to check the dead watcher which won't block other stuff
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.lang.Thread

        java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
    • Field Summary

      • Fields inherited from class java.lang.Thread

        MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addDeadWatcher​(int watcherBit)  
      void run()  
      void shutdown()  
      • Methods inherited from class java.lang.Thread

        activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • WatcherCleaner

        public WatcherCleaner​(IDeadWatcherListener listener,
                              int watcherCleanThreshold,
                              int watcherCleanIntervalInSeconds,
                              int watcherCleanThreadsNum,
                              int maxInProcessingDeadWatchers)
    • Method Detail

      • addDeadWatcher

        public void addDeadWatcher​(int watcherBit)
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        Overrides:
        run in class java.lang.Thread
      • shutdown

        public void shutdown()