Class FastThreadLocalThread

  • All Implemented Interfaces:
    java.lang.Runnable

    public class FastThreadLocalThread
    extends java.lang.Thread
    A special Thread that provides fast access to FastThreadLocal variables.
    • 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 Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean permitBlockingCalls()
      Query whether this thread is allowed to perform blocking calls or not.
      void setThreadLocalMap​(InternalThreadLocalMap threadLocalMap)
      Sets the internal data structure that keeps the thread-local variables bound to this thread.
      InternalThreadLocalMap threadLocalMap()
      Returns the internal data structure that keeps the thread-local variables bound to this thread.
      boolean willCleanupFastThreadLocals()
      Returns true if FastThreadLocal.removeAll() will be called once Thread.run() completes.
      static boolean willCleanupFastThreadLocals​(java.lang.Thread thread)
      Returns true if FastThreadLocal.removeAll() will be called once Thread.run() completes.
      • Methods inherited from class java.lang.Thread

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

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

      • FastThreadLocalThread

        public FastThreadLocalThread()
      • FastThreadLocalThread

        public FastThreadLocalThread​(java.lang.Runnable target)
      • FastThreadLocalThread

        public FastThreadLocalThread​(java.lang.ThreadGroup group,
                                     java.lang.Runnable target)
      • FastThreadLocalThread

        public FastThreadLocalThread​(java.lang.String name)
      • FastThreadLocalThread

        public FastThreadLocalThread​(java.lang.ThreadGroup group,
                                     java.lang.String name)
      • FastThreadLocalThread

        public FastThreadLocalThread​(java.lang.Runnable target,
                                     java.lang.String name)
      • FastThreadLocalThread

        public FastThreadLocalThread​(java.lang.ThreadGroup group,
                                     java.lang.Runnable target,
                                     java.lang.String name)
      • FastThreadLocalThread

        public FastThreadLocalThread​(java.lang.ThreadGroup group,
                                     java.lang.Runnable target,
                                     java.lang.String name,
                                     long stackSize)
    • Method Detail

      • threadLocalMap

        public final InternalThreadLocalMap threadLocalMap()
        Returns the internal data structure that keeps the thread-local variables bound to this thread. Note that this method is for internal use only, and thus is subject to change at any time.
      • setThreadLocalMap

        public final void setThreadLocalMap​(InternalThreadLocalMap threadLocalMap)
        Sets the internal data structure that keeps the thread-local variables bound to this thread. Note that this method is for internal use only, and thus is subject to change at any time.
      • willCleanupFastThreadLocals

        public boolean willCleanupFastThreadLocals()
        Returns true if FastThreadLocal.removeAll() will be called once Thread.run() completes.
      • willCleanupFastThreadLocals

        public static boolean willCleanupFastThreadLocals​(java.lang.Thread thread)
        Returns true if FastThreadLocal.removeAll() will be called once Thread.run() completes.
      • permitBlockingCalls

        public boolean permitBlockingCalls()
        Query whether this thread is allowed to perform blocking calls or not. FastThreadLocalThreads are often used in event-loops, where blocking calls are forbidden in order to prevent event-loop stalls, so this method returns false by default.

        Subclasses of FastThreadLocalThread can override this method if they are not meant to be used for running event-loops.

        Returns:
        false, unless overriden by a subclass.