Prueba

Páginas: 12 (2889 palabras) Publicado: 20 de septiembre de 2014
Hebras y
Sincronización
en Java
Jonathan Makuc – http://jmakuc.ublog.cl
Noviembre 2008

Tópicos:
1.

Introducción a hebras en Java....................................................................................................2

2.

Hebras a través del clase Thread ...............................................................................................3

3.

Hebras através de la interfaz Runnable.....................................................................................4

4.

Trabajo con hebras y buenas prácticas ......................................................................................5

5.

Elementos de Sincronización....................................................................................................11 Tutorial
Hebras y Sincronización en Java

1. Introducción a hebras en Java
El presente tutorial tiene por objetivo explicar de forma simple y práctica el trabajo básico con
hebras en Java, en cuanto a su creación, correcto uso y sincronización. Para un estudio más
acabado,
refiérase
al
Tutorial
de
concurrencia
en
Java
de
Sun
enhttp://java.sun.com/docs/books/tutorial/essential/concurrency/index.html.
Computacionalmente se define como hebra como una unidad de procesamiento de datos, la cual
es más liviana que un proceso, entendiendo como proceso a un programa en ejecución. Un
proceso puede tener bajo su comando a múltiples hebras que realicen trabajos específicos, a
veces de forma paralela.
Java proporciona 2 formas para trabajar con hebras: extender un Thread o
implementarun Runnable. Ambas resultan en la creación de una hebra de
usuario, la cual es invisible al sistema operativo, como se muestra en el
diagrama a la derecha, por lo tanto no se puede establecer prioridades de
ejecución de hebras Java en el scheduler del sistema operativo.

Hebra

Hebra

JVM

Las hebras pueden tener un nombre de identificación, prioridad de ejecución
Sistema Operativo(a mayor prioridad, más probabilidad de ejecutarse) y la posibilidad de
indicar si son hebras “demonio”. La JVM posee en su interior un scheduler que se encarga de
calendarizar la ejecución de las hebras, manejo de prioridades, creación y destrucción, etc.
Al partir la JVM (Java Virtual Machine), se crea una hebra inicial la cual ejecuta al método main. La
ejecución continúa hasta que seinvoque al método exit de la clase Runtime, o que todas las
hebras que no son “demonios” han terminado.

Página 2 de 14

Tutorial
Hebras y Sincronización en Java

2. Hebras a través del clase Thread
La clase Thread es la forma real en la cual se crea una nueva hebra en Java. Sus constructores
permite establecer nombre, grupo, Runnable a ejecutar y en algunas plataformas tamaño del
snack.Esta clase forma parte del lenguaje base de java y se encuentra en el paquete java.lang.
La forma tradicional de trabajar con la clase Thread, es extenderla. Para hacer esto, se debe
implementar el método run, el cual contendrá el código real a ejecutarse en la nueva hebra.
A la derecha vemos el código fuente de una
hebra simple de ejemplo la cual recibe como
único parámetro de su constructor elnombre que
tendrá esta hebra. El constructor es utilizado
para inicializar correctamente la hebra pero no
inicia su ejecución.

class MiHebra extends Thread {
public MiHebra(String nombre) {
this.setName(nombre);
}

Para iniciar la ejecución de la hebra se debe
invocar al método start().
En el ejemplo se muestra como se declara la
clase MiHebra y luego en el método main se
instanciael objeto y luego se corre el código que
esta contiene.
De esta forma se pueden lanzar múltiples hebras
del tipo MiHebra que se ejecuten en paralelo,
donde cada una de ellas ejecutará el código
contenido en el método run().

public void run() {
// CODIGO DE LA HEBRA AQUI
}
}
public static
args) {

void

main(String[]

MiHebra hebra1 = new MiHebra(“1”);
Hebra1.start();
}...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Prueba
  • Prueba
  • Prueba
  • Prueba
  • Prueba
  • Pruebas
  • Pruebas
  • Prueba

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS