Threads de Control

Frecuentemente, los threads necesitan compartir datos. Por ejemplo, supongamos que existe un thread que escribe datos en un fichero mientras, al mismo tiempo, otro thread est� leyendo el mismo fichero.

Cuando los threads comparten informaci�n necesitan sicronizarse para obtener los resultados deseados.

.�Imparcialidad, Hambre y Punto Muerto

Si se escribe un programa en el que varios threads concurrentes deben competir por los recursos, se debe tomar las precauciones necesarias para asegurarse la justicia. Un sistema es justo cuando cada thread obtiene suficiente acceso a los recursos limitados como para tener un progreso razonable. Un sistema justo previene el hambre y el punto muerto. El hambre ocurre cuando uno o m�s threads de un programa est�n bloqueados por ganar el acceso a un recurso y as� no pueden progresar. El punto muerto es la �ltima forma de hambre; ocurre cuando dos o m�s threads est�n esperando una condici�n que no puede ser satisfecha. El punto muerto ocurre muy frecuentemente cuando dos (o m�s) threads est�n esperando a que el otro u otros haga algo.

.�Volatile

Los programas pueden modificar variables miembros fuera de la protecci�n de un m�todo o un bloque sincronizados y puede declarar que la variable miembro es volatile.

Si una variable miembro es declarada como volatile, el sistema de ejecuci�n Java utiliza esta informaci�n para asegurarse que la variable sea cargada desde la m�moria antes de cada uso, y almacenada en la memoria despu�s de utilizarla. Esto asegura que el valor de la variable es consistente y coherente a lo largo del programa.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO