com.bigdata.journal
Class AbstractTask.InnerWriteServiceCallable<T>
java.lang.Object
com.bigdata.journal.AbstractTask.DelegateTask<T>
com.bigdata.journal.AbstractTask.InnerWriteServiceCallable<T>
- All Implemented Interfaces:
- ITask<T>, Callable<T>
- Enclosing class:
- AbstractTask<T>
protected static class AbstractTask.InnerWriteServiceCallable<T>
- extends AbstractTask.DelegateTask<T>
An instance of this class is used as the delegate for a
LockManagerTask in order to coordinate the acquisition of locks
with the LockManager before the task can execute and to release
locks after the task has completed (whether it succeeds or fails).
Note: This inner class delegates the execution of the task to
AbstractTask.doTask() on the outer class.
Note: If there is only a single writer thread then the lock system
essentially does nothing. When there are multiple writer threads the lock
system imposes a partial ordering on the writers that ensures that writes
on a given named index are single-threaded and that deadlocks do not
prevent tasks from progressing. If there is strong lock contention then
writers will be more or less serialized.
FIXME javadoc update to reflect the NonBlockingLockManager
- Version:
- $Id: AbstractTask.java 2265 2009-10-26 12:51:06Z thompsonbry $
- Author:
- Bryan Thompson
|
Method Summary |
T |
call()
Note: Locks on the named indices are ONLY held during this call. |
call
public T call()
throws Exception
- Note: Locks on the named indices are ONLY held during this call.
- Throws:
Exception
Copyright © 2006-2009 SYSTAP, LLC. All Rights Reserved.