martes, 18 de noviembre de 2014

Thread Safe

Hola

Hoy voy hablar sobre thread safe, es algo que siempre escuchamos cuando programamos, pero ¿Qué es thread safe?

Una clase Java es Thread safe cuando su compartamiento no sé ve interferidor y modificado por otros hilos de forma concurrente.

En una imagen se ve mejor esta definición (mía):

Como vemos tenemos dos hilos que accede al mismo objecto Counter. Si counter es thread safe su comportamiento no sé vee alterado sí llega primero thread 1 y despues thread 2.

Java tiene varios mecanismo de hacer thread safe una clase:
  • Uso de la palabra reservada synchronized
  • Uso de la palabra reservada volatile
  • Uso de la clase ThreadLocal
  • Uso de la clase Lock
  • Uso de la clase Semaphore
Un error que se produce con el uso de sincronización es el bloqueo mutuo (dead Lock), como siempre esto se ve mejor con un ejemplo.

No hay comentarios:

Publicar un comentario