public abstract class ReadWriteLockExecuter
extends java.lang.Object
ReentrantReadWriteLock. The callback's methods are best-suited
to fetching values from a cache or protecting members that need lazy
initialization.
Client code should construct an instance of this class for each resource (or set of resources) that need to be protected.
| Constructor and Description |
|---|
ReadWriteLockExecuter()
Default constructor
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
execute() |
protected abstract java.lang.Object |
getWithReadLock()
Execute the read-only part of the work.
|
protected abstract java.lang.Object |
getWithWriteLock()
Execute the write part of the work.
|
protected abstract java.lang.Object getWithReadLock()
throws java.lang.Throwable
ReadWriteLockExecuter.getWithWriteLock() method must be
calledjava.lang.Throwable - all checked exceptions are wrapped in a RuntimeExceptionprotected abstract java.lang.Object getWithWriteLock()
throws java.lang.Throwable
NOTE: It is important to perform a double-check on the resource
before assuming it is not null; there is a window between the ReadWriteLockExecuter.getWithReadLock()
and the ReadWriteLockExecuter.getWithWriteLock() during which another thread may have populated
the resource of interest.
java.lang.Throwable - all checked exceptions are wrapped in a RuntimeExceptionpublic java.lang.Object execute()
Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.