Prezados
senhores,
Imaginem a
seguinte classe:
public class
MinhaClasse {
public void
metodo() {
int a, b, c;
// algum processamento demorado utilizando
// as vari�veis autom�ticas "a", "b" e "c"
}
}
Na m�quina virtual
h� apenas um objeto desta classe, denominado "meuObjeto".
Imaginem tamb�m
que na m�quina virtual h� mais tr�s threads em execu��o. Em cada uma destas
threads h� uma refer�ncia a "meuObjeto" -- logo, h� um problema de acesso
concorrente ao m�todo "metodo()". Como voc�s podem observar, este n�o � um
m�todo "synchronized", e portanto poder� haver acesso simult�neo por meio das
tr�s threads.
A pergunta �:
quando as threads est�o executando o m�todo "metodo()", elas obter�o os mesmos
valores para as vari�veis "a", "b" e "c" ou para cada cliente haver� um conjunto
de valores diferente (ou seja, �reas de mem�ria diferentes, sendo empilhadas e
desempilhadas de acordo com a necessidade)?
A resposta deve
ser embasada em alguma boa refer�ncia (especifica��o da Sun, livros conhecidos),
e n�o em achismos ou livros de m� qualidade.
(Quem responder
primeiro ganha uma caixa de Bis! ;-D)
Augusto Jun
Devegili
Software Architect @ NeoGrid
S.A.
Phone: +55 (47) 422-7099
Sun Certified Architect for Java Technology
1.2
Sun Certified Developer for the Java Platform
1.1
Microsoft Certified
Professional
