Sobes.tech
Junior — Middle

Çox ipli mühitdə kolleksiyalar üzərində işləyərkən ConcurrentModificationException istisnasını qarşısını almaq üçün hansı metodlar istifadə oluna bilər?

sobes.tech Süni İntellekt

AI-dan cavab

Çox ipli mühitdə kolleksiyalarla işləyərkən ConcurrentModificationException istisnasını qarşısını almaq üçün aşağıdakı metodlardan istifadə etmək olar:

  • java.util.concurrent paketindən ipə təhlükəsiz kolleksiyalar, məsələn, ConcurrentHashMap, CopyOnWriteArrayList istifadə edin.
  • Kolleksiyaya girişə əl ilə synchronized blokları və ya digər sinxronizasiya mexanizmləri ilə nəzarət edin.
  • Təhlükəsiz modifikasiya dəstəkləyən iteratorlardan istifadə edin, məsələn, ListIterator listlər üçün.
  • İterasiya zamanı orijinal kolleksiyanı dəyişdirməmək üçün kolleksiyaların nüsxələrini yaradın (məsələn, new ArrayList<>(orijinalList) vasitəsilə).

CopyOnWriteArrayList istifadəsi nümunəsi:

CopyOnWriteArrayList<String> siyahı = new CopyOnWriteArrayList<>();
 siyahı.add("item1");
for (String item : siyahı) {
    siyahı.add("item2"); // ConcurrentModificationException baş verməz
}