Como vijiar uma Variavel?

seguinte… tenho uma variavel numa thread. Quando essa variavel for modificada quero que dispare um evento ou algo que posso controlala.

public class EscutaCnx implements Runnable {

volatile Socket socket;

public void run() {
try {
ServerSocket serverSocket = new ServerSocket(2500);
while (true)
{
System.out.println(“Aguardando um conexão cliente”);
socket = serverSocket.accept();
}
} catch (Exception e) {
System.out.println(e);
}
}

public Socket getSocket() {
return this.socket;
}

}

queria controlala da classe que instanciar um thread EscutaCnx sem ter que ficar “loopando”

.


while (true)
{
if (getSock…


}

tem algum jeito? aceito sugestões quaisquer!

PS.: to montando um servidor que escuta uma msm porta sempre… conforme batem na porta ele conecta e passa pra alguem cuidar da conexão e continua escutando akela porta, ou melhor… to tentando fazer isso.

Use o Design Pattern Observer