Diferença entre synchronized estático e não estático

2 respostas
B

Pessoal , não entendi a diferença do método synchronized estático pro não estático. Exemplo : Se um objeto atinge um método synchronized estático , nenhum outro objeto poderá obter o bloqueio dele , não é ? Porque ele obteve o bloqueio da classe em que está … Não seria o mesmo efeito do syncronized não estático ?

2 Respostas

J

Não é a mesma coisa, o estático bloqueia na classe impedindo que outros threads obtenham bloqueio em quaisquer instâncias da referida classe, o não estatico bloqueia em instâncias individuais, no caso o bloqueio será em um único objeto não impedindo que outros threads obtenham bloqueios em instâncias diferentes da mesma classe.

B

Ok, só pra ver se entendi : Quando acontecer um bloqueio num método estático , nenhuma outra instância (mesmo que sejam diferentes ) poderão ter acesso a ele porque ele está bloqueado na classe. É isso msm né ?

Criado 31 de dezembro de 2007
Ultima resposta 4 de jan. de 2008
Respostas 2
Participantes 2