public class OffHeapLockManager<T extends ISelfLockingSubject> extends Object implements IBasicLockManager<T>
Constructor and Description |
---|
OffHeapLockManager() |
Modifier and Type | Method and Description |
---|---|
void |
freeLockObject(ILockObject lockObject)
free the lock object- no more needed by this thread
|
ILockObject |
getLockObject(String subjectUid)
based only on subject's uid, return a lock object in order to lock the represented subject
this method is relevant only for evictable objects
|
ILockObject |
getLockObject(T subject)
based on subject, return a lock object in order to lock the represented subject
|
ILockObject |
getLockObject(T subject,
boolean isEvictable)
based on subject, return a lock object in order to lock the subject
|
boolean |
isPerLogicalSubjectLockObject(boolean isEvictable)
do we use per-logical subject a different object for locking ?
|
public ILockObject getLockObject(T subject)
IBasicLockManager
getLockObject
in interface IBasicLockManager<T extends ISelfLockingSubject>
public ILockObject getLockObject(T subject, boolean isEvictable)
IBasicLockManager
getLockObject
in interface IBasicLockManager<T extends ISelfLockingSubject>
isEvictable
- = true if the subject is part of evictable cache (like lru)public ILockObject getLockObject(String subjectUid)
getLockObject
in interface IBasicLockManager<T extends ISelfLockingSubject>
public void freeLockObject(ILockObject lockObject)
IBasicLockManager
freeLockObject
in interface IBasicLockManager<T extends ISelfLockingSubject>
lockObject
- the lock objectpublic boolean isPerLogicalSubjectLockObject(boolean isEvictable)
IBasicLockManager
isPerLogicalSubjectLockObject
in interface IBasicLockManager<T extends ISelfLockingSubject>
isEvictable
- - is subject evictableCopyright © GigaSpaces.