ho fatto passi avanti...ma non riesco a capire come fare a cambiare il valore di A.
Se voglio impostare a = 1000 e poi farlo elaborare dal thread, e cosi via....
ad esempio poi metto a = 2000 e il thread deve leggere quel valore, cosa devo fare?

class th implements Runnable{


private ogg rif;


th(ogg o){

rif=o;
}

public void run(){
try{
System.out.println("passo da qui ciao");
rif.setA(rif.metodo1());

Thread.sleep(5000);

rif.setB(rif.metodo2());

System.out.println(rif.getA() + rif.getB());
}
catch (InterruptedException e){
System.out.println("Thread interrotto");
}

}

}

class ogg{

private int a;
private int b;


public int metodo1(){
System.out.println("metodo1");
return 5;
}

public int metodo2(){
System.out.println("metodo2");
return 2;
}

public void metodo3(){
System.out.println("metodo3");
}

public int getA(){
return a;
}

public int getB(){
return b;
}

public void setA(int a){
this.a = a;
}

public void setB(int b){
this.b = b;
}


}

class mainth{

public static void main(String args[]){
ogg o = new ogg();

Runnable r = new th(o);
Thread t = new Thread(r);
t.start();
o.setA(1000);

}
}



per caso, non è possibile cambiare i valori a cui ha accesso un thread, perchè non si può fermare?