Acesso de variaveis em Multi-Threading

5 respostas
L

Pessoal estou tentando acessar uma variavel de uma classe runnable através de outra classe runnable só que não consigo fazer isso. Vou tentar explicar melhor.
Tenho a classe Main que inicia uma classe(Classe1) Runnable. A partir da Classe 1, Criei um Thread da classe 2, visto que ambas devem ser executadas simultaneamente.

Runnable Objeto2 = new Classe2(); Thread Thread2 = new Thread(Objeto2); Thread2.start();

A única coisa que quero é acessar uma variável do Thread2 na Classe1.

Obrigado.

5 Respostas

R

Vc pode tornar a variável pública, o que é ruim para o encapsulamento, ou criar um método público que retorne o valor da variável (mais correto).
Por exemplo:

private String nome;

public String getNome(){
   return this.nome;
}

veja se isso resolve. :slight_smile:

L

Eu tinha até tentado fazer isso e o erro que recebo é:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
Na linha que eu chamo o método do outro thread.(variavel=Classe2.getmessage();
Eu acho q estou fazendo alguma confusão na hora de instanciar os threads…

R

luck008:
Eu tinha até tentado fazer isso e o erro que recebo é:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
Na linha que eu chamo o método do outro thread.(variavel=Classe2.getmessage();
Eu acho q estou fazendo alguma confusão na hora de instanciar os threads…

Eu não vi todo o código, mas não seria “Objeto2.getmessage()”.
Se vc fizer Classe2.getmessage() o método e a variável deveriam ser estáticos.

Se é que eu entendi. :roll:

L

Como deveria ser então, sendo eles não-estáticos?

L

Consegui acessar as variaveis. O problema agora é “avisar” a classe1 quer a variavel mudou como num loop.Existe algum action listener para isso?

Criado 11 de abril de 2013
Ultima resposta 12 de abr. de 2013
Respostas 5
Participantes 2