# Programación multihilo:
 -	Recursos compartidos por los hilos.
 -	Estados de un hilo. Cambios de estado.
 -	Elementos relacionados con la programación de hilos. Librerías y clases.
 -	Gestión de hilos.
 -	Sincronización de hilos.
 -	Compartición de información entre hilos.
 -	Programación de aplicaciones multihilo.

# Java Thread: notify() and wait() examples
* https://www.programcreek.com/2009/02/notify-and-wait-example/
* https://www.tutorialspoint.com/java/java_thread_synchronization.htm

# Ejemplo synchronized
## Sin synchronized
https://github.com/javierinformatica/PSP/blob/master/Ejemplos/src/Hilos/HiloA.java
https://github.com/javierinformatica/PSP/blob/master/Ejemplos/src/Hilos/HiloB.java
## Con synchronized
https://github.com/LuisCalvoMartinSalesianosPiza/Procesos/tree/master/ejemploSychronized/src/ejemploSychronized

# ¿Cómo funciona synchronized en Java?
https://epere4.blogspot.com.es/2008/04/cmo-funciona-synchronized-en-java.html

El bloque synchronized lleva entre paréntesis la referencia a un objeto. Cada vez que un thread intenta acceder a un bloque sincronizado le pregunta a ese objeto si no hay algún otro thread que ya tenga el lock para ese objecto. En otras palabras, le pregunta si no hay otro thread ejecutando algun bloque sincronizado con ese objeto (y recalco que es ese objeto porque en eso radica la clave para entender el funcionamiento)
Si el lock está tomado por otro thread, entonces el thread actual es suspendido y puesto en espera hasta que el lock se libere. Si el lock está libre, entonces el thread actual toma el lock del objeto y entra a ejecutar el bloque. Al tomar el lock, cuando venga el proximo thread a intentar ejecutar un bloque sincronizado con ese objeto, será puesto en espera.

# Barra de progreso
La barra de progreso es un componente especial ya que su ejecución se enmarca en paralelo a la del resto de elementos. De no ser así y ejecutarse todo en el hilo principal la interfaz se congela debido a la imposibilidad del sistema de otorgar recursos a los componentes
* http://www.developandsys.es/barra-de-progreso/
