¿Es seguro el hilo Vector en Java?
¿Es seguro el hilo Vector en Java?

Video: ¿Es seguro el hilo Vector en Java?

Video: ¿Es seguro el hilo Vector en Java?
Video: Curso Java Intermedio #22 | Hilos (Threads) en Java 2024, Noviembre
Anonim

Vector todos los métodos están sincronizados. Entonces usándolo desde múltiples hilos es " a salvo ". Solo necesita sincronizar si necesita que un proceso de lectura-evaluación-escritura sea atómico. Sincronizar sus propios métodos no necesariamente hace que su código hilo - a salvo para esos escenarios.

Teniendo esto en cuenta, ¿la lista de subprocesos es segura en Java?

De hecho, todas las clases de colección (excepto Vector y Hashtable) en el Java . El paquete util no es hilo - a salvo . Es por eso que el nuevo colecciones ( Lista , Set, Map, etc.) no proporcionan ningún control de concurrencia para proporcionar el máximo rendimiento en aplicaciones de un solo subproceso.

Del mismo modo, ¿qué colección es segura para subprocesos en Java? A hilo - a salvo class es una clase que garantiza el estado interno de la clase, así como los valores devueltos de los métodos, son correctos mientras se invocan simultáneamente desde múltiples hilos . los colección clases que son hilo - seguro en Java son Pila, Vector, Propiedades, Hashtable, etc.

Teniendo esto en cuenta, ¿es seguro el hilo Java HashSet?

HashSet no es HashSet seguro para subprocesos en Java no es a salvo de amenazas ya que no está sincronizado de forma predeterminada. Si esta usando HashSet en un entorno de subprocesos múltiples donde se accede por múltiples hilos concurrente y estructuralmente modificado también por incluso un solo hilo entonces debe sincronizarse externamente.

¿Qué es ArrayList o vector seguro para subprocesos?

Vector es lento como es a salvo de amenazas . En comparación Lista de arreglo es rápido ya que no está sincronizado. Así en Lista de arreglo dos o más hilos puede acceder al código al mismo tiempo, mientras Vector está limitado a uno hilo a la vez. A Vector por defecto duplica el tamaño de su matriz.

Recomendado: