Análisis de mercado

Páginas: 2 (272 palabras) Publicado: 25 de junio de 2013
Singleton
El concepto es bastante simple, simplemente consiste en que tienes una sola instancia de un objeto. Para lograrlo necesitas que el constructor de la clase seaprivado, y un método estático que devuelva la misma instancia siempre.
Si la creación del singleton se realiza hasta que alguien lo pide, entonces necesitas sincronizar elmétodo (para el caso en que dos hilos pidieran el objeto por primera vez de manera simultánea).
Ejemplo
public class Singleton {
  private Singleton unico;  private Singleton() {}
  public static Singleton getInstance() {
    if (unico == null) {
      synchronized (Singleton.class) {
        if (unico == null) {
          unico= new Singleton();
        }
      }
    }
    return unico;
  }
}

Por qué dos ifs?
Supon que dos hilos invocan el método al mismo tiempo. De modo que los dos llegan alprimer if al mismo tiempo, y en ambos casos es nulo. Ambos llegan al bloque synchronized, y la JVM deja pasar a uno solamente, bloqueando al otro. En este momento, el queentra al bloque pasa por el segundo if, que se cumple porque todavía nadie ha creado el objeto, y entonces se crea el objeto. Ese primer hilo sale de la sección crítica yentonces el segundo hilo entra, se encuentra con el if, pero entonces ya existe el objeto, de modo que ya no lo crea nuevamente.
Si no existiera ese segundo if, tendríasfugas de memoria si dos o más hilos llegan a invocar el método al mismo tiempo. Además de que cada hilo estaría usando su propia instancia y eso te puede causar otrosproblemas (porque finalmente el singleton lo estás declarando así por alguna razón; tal vez tiene datos que necesitas que estén compartidos globalmente en tu aplicación).
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • analisis de mercado
  • ANALISIS DE MERCADO
  • Analisis De Mercado
  • analisis de mercado
  • Análisis de mercado
  • Analisis de mercado
  • Analisis de mercado
  • Analisis De Mercado

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS