14 Stimmen

Java: CopyOnWriteArrayList vs. synchronizedList

Was ist der Unterschied zwischen CopyOnWritearraylist y Collections.synchronizedList(..) ? Wann sollte das eine dem anderen vorgezogen werden?

18voto

Bozho Punkte 570413

CopyOnWriteArrayList Liste sollte verwendet werden, wenn die Zahl der Lesevorgänge die Zahl der Schreibvorgänge bei weitem übersteigt. Der Grund dafür ist, dass Sie unnötige Synchronisierung gegen teures Kopieren des Arrays bei jedem Schreibvorgang eintauschen.

Zum Beispiel, wenn Sie eine List von Ereignis-Listenern in einer Multi-Thread-Umgebung zu verwenden, sollten Sie CopyOnWriteArrayList denn

  • Ereignisse ausgelöst werden und die Liste daher sehr oft durchlaufen wird
  • Ereignis-Listener werden selten registriert

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X