La web de John
Hola, bienvenido a mi web. Estoy trabajando en que tenga cosas menos aburridas que este mensaje, por favor ten algo de paciencia.
Mientras tanto, uno de mis patrones favoritos (en Java):
/**
* Singleton con acceso sincronizado para ser thread-safe
*/
public final class Singleton {
private static Singleton instance = null;
public static Singleton getInstance() {
// chequeo rapido no sincronizado
if (instance == null) {
// es null, sincronicemos para que solo 1 thread se asegure
// de crear la instancia.
// usamos la misma clase para sincronizar
synchronized (Singleton.class) {
// ahora si, el chequeo real:
if (instance == null) {
// y creamos la instancia :D
instance = new Singleton();
}
}
}
return instance;
}
/**
* Constructor default privado, para que no se
* pueda construir un objeto desde afuera
*/
private Singleton() {
}
}
Algún día espero que se pueda hacer simplemente así:
@Singleton
public final class Singleton {
}
Última actualización: 20 de Julio, 10:19 GMT-4
