4.01.2011

JAva threads



Casos cuando te debes de preocupar en hacer tus clases Thread Safe:

-Cuando tienens variso threads modificando el mismo objecto
-Cuando usas servlets y esos servlets usan el mismo objecto (que es basicamente, el caso de arriba)

Hay 3 formas de curar esto:
Si te importa mantener el valor, usa synchronized.

Si quieres que cada thread posea un solo valor del objeto, usa ThreadLocal.


Alguna vez pense que habia un modificador que hace que el objeto local sea del thread, pero creo que lo soñe :(

Por otra parte, si tu punto de entrada crea  todos sus obejtcos necesarios, no hay problema: Cada Trhead tiene su stack. En pocas palabras: Los metodos deben ser atomcios y no depender de variabels de instancia. Al menos, el primer punto de entrada.