Hallo
ich hätte mal eine kleine Frage zu Read/WriteLock
Folgendes Beispiel:
Quelle:Galileo Computing :: Java 7 - Mehr als eine Insel - 2 Threads und nebenläufige Programmierung
Was mir nicht ganz klar geworden ist.
Lesende Opertationen sollen ja beliebig möglich sein.
Wofür ist dann der ReadLock?
Den lesenden(get) Zugriff möchte ich doch gar nicht sperren.
Was macht der ReadLock genau? Anmelden, dass hier mehrere Thread zugreifen dürfen?
Nur wo wäre da der Sinn, weil das geht doch ohne hin, wenn ich gar keinen Lock benutze?
Vielen Dank im Vorraus
ich hätte mal eine kleine Frage zu Read/WriteLock
Folgendes Beispiel:
Java:
private final List<String> list = new ArrayList<String>();
private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
private final Lock readLock = lock.readLock();
private final Lock writeLock = lock.writeLock();
public String get( int index )
{
readLock.lock();
try
{
return list.get( index );
}
finally
{
readLock.unlock();
}
}
public void add( int index, String element )
{
writeLock.lock();
try
{
list.add( index, element );
}
finally
{
writeLock.unlock();
}
}
Was mir nicht ganz klar geworden ist.
Lesende Opertationen sollen ja beliebig möglich sein.
Wofür ist dann der ReadLock?
Den lesenden(get) Zugriff möchte ich doch gar nicht sperren.
Was macht der ReadLock genau? Anmelden, dass hier mehrere Thread zugreifen dürfen?
Nur wo wäre da der Sinn, weil das geht doch ohne hin, wenn ich gar keinen Lock benutze?
Vielen Dank im Vorraus