Parallele Programmierung (3IB)
=> Grundlage: Hettel und Tran (2016, Kap. 9)
Vector
, Stack
, HashTable
und Dictionary
java.util.Collection
-Implementierungenjava.util.Collections.synchronizedXXX
Vector
, Stack
, HashTable
und Dictionary
synchronized
.bei ArrayList
:
bei LinkedList
:
java.util.Collections.synchronizedXXX
Jeder Zugriff auf eine durch synchronizedXXX
erzeugte Collection/Map wird durch synchronized(this)
geschützt.
Collection
)SynchronizedCollection
-Wrapper”pp.07.01-synchronizedWrapper
list
entfernen
IndexOutOfBoundsException
(am Ende)list
hinzufügen
list
ändern
Durch synchronizedCollection
ist nur jeder einzelne isolierte Zugriff geschützt.
Beim Iterieren muss daher in der Regel ein “äußerer Lock” benutzt werden:
HashMap
iterierenEinflussgröße der Situation, die mehrere Ausprägungen hat.
Messgröße, die man beobachten kann und von der man Änderungen erwartet, wenn UV variiert werden
systematische Variation der UV bei gleichzeitiger Beobachtung der Auswirkung auf die AV
pp.07.02.Collections