Threads e variaveis locais

Olá,

Quando a gente projeta uma classe “thread safe” a gente não precisa se preocupar com as variaveis locais, pois cada thread é executada sobre a sua própria cópia dessas variáveis.

Eu deduzo então - e essa é a minha pergunta - que uma classe que não seja thread safe, se for instanciada, usada e descartada no interior de um mesmo método, não oferece nenhum risco diante de multiplas threads. Estou certo?

Por exemplo, a classe A abaixo não é thread safe:

public class A {
     private int v1, v2; 

     public void setV(int v1, int v2) {
         this.v1 = v1; 
         this.v2 = v2; 
     }

     public int[] getV() {
          int[] retVal = new int[2]; 
          retVal[0] = v1; 
          retVal[1] = v2; 
          return retVal; 
     }
}

mas esse é um uso seguro daquela classe, do ponto de vista das threads:

public class B {

    public void facaAlgo() {
              A a = new A(); 
              a.setV(1, 2); 
              int[] v = a.getV(); 
              System.out.println(v[0]); //imprime "1", sempre, sem perigo!
              System.out.println(v[1]); //imprime "2", sem supresas!
    }
}

Se o único uso da classe A for através de B.facaAlgo() - ou outros semelhantes -, enquanto isso for verdadeiro, então o uso de A é seguro para multiplas threads. Eu estou certo?

Hel_all

É isso aí.

Não é um recurso compartilhado.

[]s

Valeu!!!