Sobes.tech
Junior — Middle

Milyen típusú szerkezetet érdemes használni a szálbiztonság biztosítására, amikor ritkán frissítjük az elemeket egy listában?

sobes.tech MI

Válasz az MI-től

Az Java-ban ritkán frissített elemek listában való biztonságos kezeléséhez kiválóan alkalmas az CopyOnWriteArrayList adatszerkezet.

A CopyOnWriteArrayList jellemzői:

  • Minden módosítás (hozzáadás, törlés) során létrejön a belső tömb új másolata.
  • Az olvasás zárolás nélkül történik, ami nagyon hatékony gyakori olvasások és ritka írások esetén.

Használati példa:

import java.util.concurrent.CopyOnWriteArrayList;

CopyOnWriteArrayList<String> lista = new CopyOnWriteArrayList<>();
lista.add("elem1");
lista.add("elem2");

// Szálbiztos olvasás
for (String s : lista) {
    System.out.println(s);
}

Így a CopyOnWriteArrayList akkor ideális, ha a frissítések ritkák, az olvasások pedig gyakoriak, biztonságot nyújtva összetett szinkronizáció nélkül.