Problemas com Singleton e Threads?  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
marcos.ribeiro
JavaChild

Membro desde: 23/12/2002 12:18:31
Mensagens: 146
Offline

Ola Pessoal,

Estava eu lendo algumas coisas a respeito de singleton, e o autor disse que era melhor usar hoje IoC ao invés de singleton, primeiro ele disse que o singleton em sistemas distribuidos pode dar problema, e também quando se trabalha com Threads, porém ele não falou o "porque" do problema.

Alguem com mais experiência poderia explicar os problemas de singleton?

Obrigado desde já
David
JavaEvangelist
[Avatar]

Membro desde: 18/03/2005 13:10:33
Mensagens: 450
Localização: Natal/RN
Offline

Singletons em sistemas distribuídos podem dar problema porque se você usa singleton é porque você PRECISA que exista apenas uma instância da classe e em ambientes distribuídos você tem várias JVMs e, consequentemente, uma instância em cada uma dessas JVMs. O problema com threads é na hora da instanciação. Se você não tornar o getInstance() synchronized ou fizer a instanciação estática (mais recomendado, pois o synchronized é muito custoso) pode acontecer de duas threads instanciarem o singleton.

David Pereira
Engenheiro de Computação - UFRN
Mestre em Engenharia Elétrica
Doutorando em Engenharia Elétrica
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team