Class LockedExecutor

  • All Implemented Interfaces:
    Executor

    public class LockedExecutor
    extends java.lang.Object
    implements Executor
    An implementation of Executor that invokes the run method of the supplied command within a synchronization lock and then returns.

    [ Introduction to this package. ]

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Sync mutex_
      The mutex
    • Constructor Summary

      Constructors 
      Constructor Description
      LockedExecutor​(Sync mutex)
      Create a new LockedExecutor that relies on the given mutual exclusion lock.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void execute​(java.lang.Runnable command)
      Execute the given command directly in the current thread, within the supplied lock.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • mutex_

        protected final Sync mutex_
        The mutex
    • Constructor Detail

      • LockedExecutor

        public LockedExecutor​(Sync mutex)
        Create a new LockedExecutor that relies on the given mutual exclusion lock.
        Parameters:
        mutex - Any mutual exclusion lock. Standard usage is to supply an instance of Mutex, but, for example, a Semaphore initialized to 1 also works. On the other hand, many other Sync implementations would not work here, so some care is required to supply a sensible synchronization object.
    • Method Detail

      • execute

        public void execute​(java.lang.Runnable command)
                     throws java.lang.InterruptedException
        Execute the given command directly in the current thread, within the supplied lock.
        Specified by:
        execute in interface Executor
        Throws:
        java.lang.InterruptedException