entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

Utilización de colecciones en ambientes multihilo con Java

Cuando se accede concurrentemente a una colección como ArrayList, ¿cuál es la forma más sencilla de garanizar la coherencia de datos?

2 Respuestas

1voto

Bunk3r Puntos5380

En mi opinion lo mejor es hacer que el o los metodos que accedan a la coleccion sean syncronos para que estes 100% seguro de que no habra problemas con los datos.

o si quieres saber lo que dice la documentacion puedes verlo aqui.

"Note that this implementation is not synchronized. If multiple threads access an ArrayList instance concurrently, and at least one of the threads modifies the list structurally, it must be synchronized externally. (A structural modification is any operation that adds or deletes one or more elements, or explicitly resizes the backing array; merely setting the value of an element is not a structural modification.) This is typically accomplished by synchronizing on some object that naturally encapsulates the list. If no such object exists, the list should be "wrapped" using the Collections.synchronizedList method. This is best done at creation time, to prevent accidental unsynchronized access to the list:"

0voto

Peter Puntos150480

Envolviendo la lista en un envoltorio sincronizado como dice Bunk3r, ejemplo:

List listaSincronizada = Collections.synchronizedList(arrayListNoSincronizado) ;

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta