Originariamente inviato da Poker1
Ora, l'ambiente e' multithread quindi mettero' una synchronized sulla classe all'interno del metodo getInstance().
Non è l'unica strada. Comunque "singleton" vuol solo dire che di quella classe ce ne potrà essere solo 1 istanza. Poi sei tu che devi decidere se fare la istanziazione in modo "lazy" (solo alla prima richiesta) o quando la classe viene caricata dalla JVM.

Nel caso di inizializzazione lazy, c'è una soluzione interessante che evita l'uso di synchronized mantenendo però la thread-safety sfruttando una nested class.

Originariamente inviato da Poker1
Pero' ho un dubbio; il costruttore privato della classe puo' eseguire delle operazioni? Questa classe infatti avra' delle variabili statiche private ( un timer, un ArrayList ) e appunto avrei bisogno di istanziarle... posso farlo all'interno di questo ?
Sì, ovviamente.