Concept
1. CopyOnWriteArrayList ist ein gleichzeitiger Container, der im Java-Parallelitätspaket bereitgestellt wird. Es handelt sich um eine threadsichere, sperrenfreie ArrayList für Lesevorgänge, die eine neue Kopie des zugrunde liegenden Arrays erstellt ist eine Lese-Schreib-Trennung. Die Parallelitätsstrategie kann auch als „Copy-on-Write“ bezeichnet werden.
2. CopyOnWriteArrayList ermöglicht das gleichzeitige Lesen und das Lesen ist nicht gesperrt. Das Wichtigste ist, dass das Lesen beim Schreiben nicht beeinträchtigt wird, da beim Schreiben das ursprüngliche Array kopiert und auf das neue Array angewendet wird, was keine Auswirkungen auf das hat Original-Array überhaupt. Es werden nur mehrere Schriften synchronisiert. Ich denke, es ist dem Mehrversions-Parallelitätsmechanismus einer Datenbank sehr ähnlich.
Instanzen
public boolean add(E e) { final ReentrantLock lock = this.lock; lock.lock(); try { Object[] elements = getArray(); int len = elements.length; Object[] newElements = Arrays.copyOf(elements, len + 1); newElements[len] = e; setArray(newElements); return true; } finally { lock.unlock(); } }
Das obige ist der detaillierte Inhalt vonWie verwende ich Javas CopyOnWriteArrayList?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!