Resumen OCP(SCJP): Capítulo 9. Hilos (Threads)

por | julio 9, 2013

DEFINICIÓN, INSTANCIACIÓN E INICIACIÓN DE THREADS (HILOS) (OBJETIVO 4.1)

  • El método start() más de una sola vez lanza IllegalThreadStateException (la cual extiende de RuntimeException).

TRANSICIONES ENTRE ESTADOS DE HILOS (OBJETIVO 4.2)

  • Existen cinco estados: “nuevo”, “ejecutable”, “en ejecución”, “bloqueado/esperando/ dormido”, y “muerto” (new, runnable, running, blocked/waiting/sleeping, dead).
Estados de los hilos

Estados de los hilos

SLEEP, YIELD Y JOIN (OBJETIVO 4.2)

  • El método setPriority() se utiliza, solo sobre instancias de Thread, para dar una prioridad a los hilos entre los valores 1(baja) y 10(alta)

PROBLEMAS DE ACCESO CONCURRENTE Y SINCRONIZACIÓN DE HILOS (OBJETIVO 4.3)

  • Los métodos estáticos pueden estar sincronizados, utilizando como cerradura la instancia java.lang.Class que representa la clase.

COMUNICACIÓN CON OBJETOS A TRAVÉS DE WAIT() Y NOTIFY() (OBJETIVO 4.4)

  • Los métodos wait(), notify() y notifyAll() deben ser invocados desde un contexto sincronizado.
  • Un punto a tomar en cuenta es que para poder llamar al método wait(), se tuvo que sincronizar el bloque de código y obtener el bloqueo de b, de lo contrario se obtiene una excepción de tipo java.lang.IllegalMonitorStateException

EOF