public class MutexMap
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected boolean |
logOperations
Czy operacje na zamkach są logowane
|
protected java.lang.String |
mapName
Nazwa używana przy logowaniu
|
protected java.util.HashMap<java.lang.Object,Mutex> |
mutexMap
Mapa z kluczami i zamkami
|
Constructor and Description |
---|
MutexMap()
Tworzy mapę kluczy, bez nazwy i z wyłączonym logowaniem
|
MutexMap(java.lang.String name,
boolean isLogged)
Tworzy mapę kluczy, z podaną nazwą i logowaniem
|
Modifier and Type | Method and Description |
---|---|
void |
disposeLock(Mutex mutex)
Zwalnia zamek otrzymany przy wywołaniu getLock()
|
Mutex |
getLock(java.lang.Object key)
Zwraca zamek związany z podanym kluczem, na którym należy synchronizować
wykonanie kodu związanego z tym kluczem, np:
Mutex mutex = getLock(key); try { synchronized (mutex) { tu kod związany z kluczem key } } finally { disposeLock(mutex); } |
boolean |
getLogging()
Zwraca czy operacje pobierania i zwalniania zamka są logowane.
|
java.lang.String |
getName()
Zwraca nazwę mapy.
|
void |
setLogging(boolean isLogged)
Ustawia, czy operacje pobierania i zwalniania zamka są logowane.
|
void |
setName(java.lang.String name)
Ustawia nazwę mapy.
|
protected java.util.HashMap<java.lang.Object,Mutex> mutexMap
protected java.lang.String mapName
protected boolean logOperations
public MutexMap()
public MutexMap(java.lang.String name, boolean isLogged)
name
- nazwa hashmapy kluczy używana przy logowaniuisLogged
- czy operacje mają być logowanepublic java.lang.String getName()
public void setName(java.lang.String name)
name
- nazwa mapy używana przy logowaniupublic boolean getLogging()
public void setLogging(boolean isLogged)
isLogged
- jeśli true, operacje pobierania i zwalniania zamka są logowane.public Mutex getLock(java.lang.Object key)
key
- klucz, z którym ma być związany zamekpublic void disposeLock(Mutex mutex)
mutex
- zamek, który ma być zwolniony