Monther Basir Lab Sistemas Operativos 2
201807120 02/09/2021
Actividad 3
Estructura Thread safe Usos
SynchronizedHashMap Es un HashMap en el que cada método se
sincroniza utilizando un bloqueo de nivel de
objeto. Entonces, los métodos get y put
adquieren un bloqueo. Puede causar
problemas de rendimiento. Mientras un hilo
se aferra a la cerradura, ningún otro hilo
puede usar la colección.
ConcurrentHashMap También es un HashMap pero no hay
bloqueo en el nivel del objeto. El bloqueo
tiene una granularidad mucho más fina. El
menor nivel de bloqueo permite tener
lectores y escritores concurrentes, lo que
no es posible para colecciones
sincronizadas. Esto lleva a mucha más
escalabilidad. Se usa en casos de alta
concurrencia para mejorar el rendimiento
Vector Un vector es similar a un array, la diferencia
esta en que un vector crece
automáticamente cuando alcanza la
dimensión inicial máxima. Además,
proporciona métodos adicionales para
añadir, eliminar elementos, e insertar
elementos entre otros dos existentes.
Stack La clase Stack es una clase de las
llamadas de tipo LIFO (Last In - First Out, o
último en entrar - primero en salir). Esta
clase hereda de la clase Vector y cuenta
con 5 operaciones que permiten tratar un
vector a modo de pila o stack: push (que
introduce un elemento en la pila), pop (que
saca un elemento de la pila), peek
(consulta el primer elemento de la cima de
la pila), empty (que comprueba si la pila
está vacía) y search (que busca un
determinado elemento dentro de la pila y
devuelve su posición dentro de ella).