|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.net4j.util.event.Notifier org.eclipse.net4j.util.lifecycle.Lifecycle org.eclipse.net4j.util.concurrent.RWLockManager<OBJECT,CONTEXT>
RWOLockManager
@Deprecated public class RWLockManager<OBJECT,CONTEXT>
Support Multiple reads/no write and upgrade lock from read to write. Many context could request
write
lock at the same time. It will privileges first context that has already
a read
lock. If no one has any read lock, it's "first come first serve".
Nested Class Summary | |
---|---|
protected static interface |
RWLockManager.LockEntry<OBJECT,CONTEXT>
Deprecated. Use RWOLockManager |
protected static interface |
RWLockManager.LockEntryHandler<OBJECT,CONTEXT>
Deprecated. Use RWOLockManager |
protected static interface |
RWLockManager.LockStrategy<OBJECT,CONTEXT>
Deprecated. Use RWOLockManager |
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager |
---|
IRWLockManager.LockType |
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle |
---|
ILifecycle.DeferrableActivation |
Field Summary |
---|
Fields inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle |
---|
USE_LABEL |
Fields inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager |
---|
NO_WAIT, WAIT |
Constructor Summary | |
---|---|
RWLockManager()
Deprecated. |
Method Summary | |
---|---|
protected void |
changeContext(CONTEXT oldContext,
CONTEXT newContext)
Deprecated. |
protected RWLockManager.LockEntry<OBJECT,CONTEXT> |
getLockEntry(OBJECT objectToLock)
Deprecated. |
protected RWLockManager.LockStrategy<OBJECT,CONTEXT> |
getLockingStrategy(IRWLockManager.LockType type)
Deprecated. |
protected void |
handleLockEntries(CONTEXT context,
RWLockManager.LockEntryHandler<OBJECT,CONTEXT> handler)
Deprecated. |
boolean |
hasLock(IRWLockManager.LockType type,
CONTEXT context,
OBJECT objectToLock)
Deprecated. |
boolean |
hasLockByOthers(IRWLockManager.LockType type,
CONTEXT context,
OBJECT objectToLock)
Deprecated. |
void |
lock(IRWLockManager.LockType type,
CONTEXT context,
Collection<? extends OBJECT> objectsToLock,
long timeout)
Deprecated. |
void |
lock(IRWLockManager.LockType type,
CONTEXT context,
OBJECT objectToLock,
long timeout)
Deprecated. |
void |
unlock(CONTEXT context)
Deprecated. Attempts to release all locks(read and write) for a given context. |
void |
unlock(IRWLockManager.LockType type,
CONTEXT context,
Collection<? extends OBJECT> objectsToUnlock)
Deprecated. Attempts to release for a given locktype, context and objects. |
Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle |
---|
activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString |
Methods inherited from class org.eclipse.net4j.util.event.Notifier |
---|
addListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListeners, lastListenerRemoved, removeListener |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.net4j.util.event.INotifier |
---|
addListener, getListeners, hasListeners, removeListener |
Constructor Detail |
---|
public RWLockManager()
Method Detail |
---|
public void lock(IRWLockManager.LockType type, CONTEXT context, Collection<? extends OBJECT> objectsToLock, long timeout) throws InterruptedException
lock
in interface IRWLockManager<OBJECT,CONTEXT>
InterruptedException
public void lock(IRWLockManager.LockType type, CONTEXT context, OBJECT objectToLock, long timeout) throws InterruptedException
lock
in interface IRWLockManager<OBJECT,CONTEXT>
InterruptedException
public void unlock(IRWLockManager.LockType type, CONTEXT context, Collection<? extends OBJECT> objectsToUnlock)
unlock
in interface IRWLockManager<OBJECT,CONTEXT>
IllegalMonitorStateException
- Unlocking objects without lock.public void unlock(CONTEXT context)
unlock
in interface IRWLockManager<OBJECT,CONTEXT>
public boolean hasLock(IRWLockManager.LockType type, CONTEXT context, OBJECT objectToLock)
hasLock
in interface IRWLockManager<OBJECT,CONTEXT>
public boolean hasLockByOthers(IRWLockManager.LockType type, CONTEXT context, OBJECT objectToLock)
hasLockByOthers
in interface IRWLockManager<OBJECT,CONTEXT>
protected void handleLockEntries(CONTEXT context, RWLockManager.LockEntryHandler<OBJECT,CONTEXT> handler)
protected RWLockManager.LockEntry<OBJECT,CONTEXT> getLockEntry(OBJECT objectToLock)
protected RWLockManager.LockStrategy<OBJECT,CONTEXT> getLockingStrategy(IRWLockManager.LockType type)
protected void changeContext(CONTEXT oldContext, CONTEXT newContext)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |