Java - sincronizar variables de clase

 
Vista:

sincronizar variables de clase

Publicado por pedrito (16 intervenciones) el 19/12/2005 07:58:02
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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:sincronizar variables de clase

Publicado por Gilberto (378 intervenciones) el 24/12/2005 04:12:18
Reescribe tu clase de esta manera :

class MiClase {

private int dato1;
private int dato2;

MiClase() {
int dato1 = 1000;
int dato2 = 2000;
}

public synchonized int LeerDato1() {
return dato1;
}

public synchronized int LeerDato2() {
return dato2;
}

public synchronized void EscribirDato1(int val) {
dato1 = val;
}

public synchronized void EscribirDato2(int val) {
dato2 = val;
}
}

checa si sirve
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar