sincronizar variables de clase
Hola a todos:
Tengo una clase de la cual creo un objeto que utilizo en varios Threads, que van modificando ese objeto.
La clase tan solo contiene variables, no metodos, del estilo a:
class MiClase
{
int dato1=1000;
int dato2=2000;
....
}
class Programa extends ...
{
....
main(...)
{
MiClase miClase;
...
...creo y lanzo varios theads que leen y escriben del objeto miClase
...
}
}
Como puedo conseguir que los threads no accedan a la vez al objeto. Todo lo que he visto sobre la clausula synchronyced se refiere a sincronizar un trozo de un método. ¿Alguien puede echar me una mano??
Gracias a todos
Tengo una clase de la cual creo un objeto que utilizo en varios Threads, que van modificando ese objeto.
La clase tan solo contiene variables, no metodos, del estilo a:
class MiClase
{
int dato1=1000;
int dato2=2000;
....
}
class Programa extends ...
{
....
main(...)
{
MiClase miClase;
...
...creo y lanzo varios theads que leen y escriben del objeto miClase
...
}
}
Como puedo conseguir que los threads no accedan a la vez al objeto. Todo lo que he visto sobre la clausula synchronyced se refiere a sincronizar un trozo de un método. ¿Alguien puede echar me una mano??
Gracias a todos
mmmmm en las hebras en la definicion d metodo debes poner la palabra reservada syncronized,
public syncronized void metodo()
bueno el orden de la sintaxis no la recuerdo pero por ahi va =)
de esta forma el metodo queda protegido no permitiendo el acceso hasta no terminar el proceso actual.
public syncronized void metodo()
bueno el orden de la sintaxis no la recuerdo pero por ahi va =)
de esta forma el metodo queda protegido no permitiendo el acceso hasta no terminar el proceso actual.