Cómo sincronizar ArrayList en Java?

Sincronización ArrayList : Aquí, vamos a aprender cómo sincronizar un ArrayList en el lenguaje de programación Java?

Sincronización ArrayList

en Java, hay dos maneras de sincronizar ArrayList,

  1. Con la ayuda del método de synchronizedList ()
  2. Con la ayuda de CopyOnWriteArrayList & lt; T & gt;
  3. método

1) Sincronización ArrayList utilizando el método synchronizedList (listado)

  • Este método está disponible en java.util class.
  • Con la ayuda de este método, podemos hacer ArrayList package.
  • Este es un método synchronized, se puede acceder con el nombre static también. (Es decir, si tratamos de acceso con el objeto class, en el que class, no vamos a conseguir algún error o excepción).
  • este método no case excepción alguna en el momento de la sincronización de un ArrayList.

Sintaxis:

    public static List synchronizedList(List list);

Parámetro (s):

  • lista – representa el ArrayList ser binded en una lista throw.

class valor:

El tipo synchronized de este método es Lista , devuelve la vista Return de la lista dada.

Ejemplo:

// Java program to demonstrate the example of 
// synchronizing an ArrayList by using synchronizedList() method
import java.util.*;
public class SynchronizeArrayList {
public static void main(String[] args) {
// ArrayList Declaration
ArrayList al = new ArrayList();
// By using add() method to add few elements in
//ArrayList
al.add(10);
al.add(20);
al.add(30);
al.add(40);
al.add(50);
// Display ArrayList
System.out.print("Display ArrayList : " + " ");
System.out.println(al);
Collections.synchronizedList(al);
synchronized(al) {
Iterator itr = al.iterator();
System.out.println("Display synchronized ArrayList:");
while (itr.hasNext())
System.out.println(itr.next() + " ");
}
}
}

salida

Display ArrayList :  [10, 20, 30, 40, 50]
Display synchronized ArrayList:
10
20
30
40
50

2) Sincronización ArrayList usando CopyOnWriteArrayList

  • CopyOnWriteArrayList es un return class thread-safe.
  • En el synchronized de CopyOnWriteArrayList, más de un hilos se les permite trabajar.
  • Funciona en diferentes operaciones de actualización synchronized copia clonada.
  • Durante un objeto CopyOnWriteArrayList iteración hilo y, al mismo tiempo otro hilo puede modificar, ya que funciona en la copia clonada por separado.

Ejemplo:

// Java program to demonstrate the example of 
// synchronizing an ArrayList by using CopyOnWriteArrayList
import java.util.*;
import java.util.concurrent.*;
public class SynchronizeArrayList {
public static void main(String[] args) {
// CopyOnWriteArrayList Declaration
CopyOnWriteArrayList < Integer > cowal = new CopyOnWriteArrayList < Integer > ();
// By using add() method to add few elements in
// CopyOnWriteArrayList
cowal.add(10);
cowal.add(20);
cowal.add(30);
cowal.add(40);
cowal.add(50);
// Display ArrayList
System.out.print("Display CopyOnWriteArrayList : " + " ");
System.out.println(cowal);
// Iterate ArrayList using iterator()
Iterator < Integer > itr = cowal.iterator();
System.out.println("Display synchronized ArrayList:");
while (itr.hasNext())
System.out.println(itr.next() + " ");
}
}

salida

Display CopyOnWriteArrayList :  [10, 20, 30, 40, 50]
Display synchronized ArrayList:
10
20
30
40
50


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *