Heim > Java > javaLernprogramm > Wie verwende ich Javas CopyOnWriteArrayList?

Wie verwende ich Javas CopyOnWriteArrayList?

PHPz
Freigeben: 2023-05-09 22:55:25
nach vorne
1477 Leute haben es durchsucht

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();
        }
    }
Nach dem Login kopieren

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!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
Kann Java als Backend des Webs verwendet werden?
Aus 1970-01-01 08:00:00
0
0
0
Installieren Sie JAVA
Aus 1970-01-01 08:00:00
0
0
0
Java kann nicht installiert werden
Aus 1970-01-01 08:00:00
0
0
0
Ist das in der Java-Sprache?
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage