EDU.oswego.cs.dl.util.concurrent
Class LockedExecutor
java.lang.Object
EDU.oswego.cs.dl.util.concurrent.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. ]
Constructor Summary |
LockedExecutor(Sync mutex)
Create a new LockedExecutor that relies on the given mutual
exclusion lock. |
Method Summary |
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 |
mutex_
protected final Sync mutex_
- The mutex
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.
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