SlideShare una empresa de Scribd logo
Threads
Threads Un thread es un “contexto de ejecución”, proceso ligero o tarea. Dentro de un programa pueden haber varios threads abiertos. Un thread es un proceso ligero en donde hay un flujo secuencial de control y que utiliza los recursos disponibles para un programa. Al ejecutar un programa Java pueden haber varios threads ejecutándose (manejo de eventos, main, ...).
Threads
Constructores de la clase Thread
Ciclo de Vida de un Thread
Métodos de la clase Thread void start():  Empieza la ejecución del Thread (hilo). Invoca al método run() de dicho hilo. public void run():   Constituye el cuerpo de un hilo en ejecución. Este es el único método del interfaz Runnable. Es llamado por el método start() después de que el hilo apropiado del sistema se haya  inicializado.  void stop():   Termina la ejecución del hilo. static void sleep (long millis) :  permite que el thread espere determinado tiempo que se especifica en el parámetro (en milisegundos).  Da oportunidad a los threads de cualquier prioridad de ejecutarse.
Métodos de la clase Thread static void yield ():   permite a los threads que se encuentran en estado listo (runnable) y que tienen la misma prioridad del thread que ejecuta el yield, ejecutarse. Da oportunidad solamente a threads que tengan igual prioridad de ejecutarse. void suspend():   Se usa para suspender la ejecución de un thread sin marcar un límite de tiempo.  public final void resume() :  Reanuda la ejecución de un Thread que estaba previamente en estado suspendido. public final boolean isAlive():   Permite conocer si un Thread está vivo, y ha sido iniciado (método start).
Métodos de la clase Thread public final void setPriority(int newPriority) : Asigna al hilo la prioridad indicada por el valor pasado como parámetro. Hay bastantes constantes predefinidas para la prioridad, definidas en la clase  Thread , tales como MIN_PRIORITY, NORM_PRIORITY y MAX_PRIORITY, que toman los valores 1, 5 y 10, respectivamente.  public final int getPriority():   Este método devuelve la prioridad del hilo de ejecución en curso. public final void setName( String ):   Este método permite identificar al hilo con un nombre. De esta manera se facilita la depuración de programas multihilo. public final getName():   Este método devuelve el valor actual, del nombre asignado al hilo en ejecución.
Cómo crear Threads? Crear subclase de java.lang.Thread, haciendo overriding del método “run” de la clase “Thread”: public void run() Un ejemplo: un thread para calcular números primos class ThreadDePrimos extends Thread { long primoMinimo; ThreadDePrimos (long primoMinimo) { this.primoMinimo = primoMinimo; } public void run() { // calcular números primos    // mayores que primoMinimo   }  }
Cómo crear Threads? class HiloSencillo extends Thread { public HiloSencillo (String str) { super(str); } public void run() { for (int i = 0; i < 10; i++) { System.out.println(i + &quot; &quot; + getName()); try { sleep((int)(Math.random() * 1000)); } catch (InterruptedException e) {} } System.out.println(“FINAL: &quot; + getName()); } } class EjemploDosHilos { public static void main (String[] args) { new HiloSencillo (“Hola&quot;).start(); new HiloSencillo(“Adios&quot;).start(); } } Ver HiloSencillo.java
Otra forma de crear Threads Interfase java.lang.Runnable: public interface Runnable {   public void run(); } Dos constructores en java.lang.Thread:  Thread(Runnable target) Thread(Runnable target, String nombre) Modo:  Crear clase que implemente la interfase java.lang.Runnable. Redefinir el método run en la clase que implemente la interfaz Runnable. Crear un Thread.
Ejemplo class HiloSencillo2 implements Runnable { private String nombre;  public HiloSencillo2(String str) { this.nombre=str; } public String getName () { return this.nombre; } public void run() { for (int i = 0; i < 10; i++) { System.out.println(i + &quot; &quot; + getName()); try { Thread.sleep((int)(Math.random() * 1000)); } catch (InterruptedException e) {} } System.out.println(&quot;FINAL: &quot; + getName()); } }
Ejemplo public class Ejemplo { public static void main (String[] args) { new Thread(new HiloSencillo2(&quot;Hola&quot;)).start(); new Thread(new HiloSencillo2(&quot;Adios&quot;)).start();  } } Ver EjemploHilo2.java

Más contenido relacionado

PDF
Java Threads (Hilos en Java)
PDF
Tema 12 hilos en java por gio
PPT
Programación III (Java) - 08 threads
PPT
Programando en java
PPTX
Multitarea e hilos en java
PPTX
Hilos – threads en java
PDF
Thread group demonios- parte1
Java Threads (Hilos en Java)
Tema 12 hilos en java por gio
Programación III (Java) - 08 threads
Programando en java
Multitarea e hilos en java
Hilos – threads en java
Thread group demonios- parte1

La actualidad más candente (20)

PPTX
Uso de hilos
DOCX
Multitarea e hilos en java con ejemplos
PPTX
2o departamental Programacion 3
PPTX
Programación multitarea
PPTX
Chap 15cpin
PPTX
Chap 15fpin
PPTX
Chap 15apin
PDF
GUIA 1 HILOS Y PROCESOS
PPTX
Chap 15bpin
PDF
PDF
PDF
Programación multihebra en java
PPT
Hilos
PDF
Uso de Excepciones en JAVA
PPTX
Chap 15gpin
PPT
Threads en java
PPTX
Chap 15epin
PDF
Programacion concurrente
PDF
Lps 17 hilos
Uso de hilos
Multitarea e hilos en java con ejemplos
2o departamental Programacion 3
Programación multitarea
Chap 15cpin
Chap 15fpin
Chap 15apin
GUIA 1 HILOS Y PROCESOS
Chap 15bpin
Programación multihebra en java
Hilos
Uso de Excepciones en JAVA
Chap 15gpin
Threads en java
Chap 15epin
Programacion concurrente
Lps 17 hilos
Publicidad

Similar a Threads en Java (19)

PDF
Threads.pdf
PDF
SCJP, Clase 9: Threads
PDF
Clase9 threads
ODP
PCJ Sesión 9: Threads
PDF
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
PDF
Threads
PDF
De Threads a CompletableFutures
PPT
Sockets y Threads en Java
PDF
Hilos java
PDF
DefinicionExplicacionEjemplosdeHilosenJava
PDF
00 Presentaciónjavacibertecnivelbasico.pdf
PPTX
hilosJava.pptx
DOCX
Programación concurrente
DOC
Guia1 programacion de-procesos_concurrentes-hilos
PPTX
Sistemas operativos threads
DOCX
Entrega de reporte no 1, lab 1
PPT
Thread
PPTX
Uso de threads en C#
Threads.pdf
SCJP, Clase 9: Threads
Clase9 threads
PCJ Sesión 9: Threads
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
Threads
De Threads a CompletableFutures
Sockets y Threads en Java
Hilos java
DefinicionExplicacionEjemplosdeHilosenJava
00 Presentaciónjavacibertecnivelbasico.pdf
hilosJava.pptx
Programación concurrente
Guia1 programacion de-procesos_concurrentes-hilos
Sistemas operativos threads
Entrega de reporte no 1, lab 1
Thread
Uso de threads en C#
Publicidad

Más de Ronny Parra (20)

PPT
Actitudes ante las discapacidades
PPT
Caracteres y cadenas en C
PPT
Archivos en C
PPT
Caracteres y Cadenas en C
PPT
Creacion de una librería propia en C
PPT
Funciones en C
PPT
Arreglos en C
PPT
Variables, constantes y tipos de datos en C
PPT
Introduccion a la programación
PPT
Eventos en Java
PPT
Diagramas de Interaccion de Objetos
PPT
Entorno grafico en Java
PPT
Entorno gráfico en Java
PPT
Excepciones
PPT
Colecciones en Java
PPT
Clases Anidadas
PPT
Conceptos basicos de Ecologia
PPT
Diagramas de casos de uso
PPT
Java y Bases de Datos
PPT
Programación en Java: Applets
Actitudes ante las discapacidades
Caracteres y cadenas en C
Archivos en C
Caracteres y Cadenas en C
Creacion de una librería propia en C
Funciones en C
Arreglos en C
Variables, constantes y tipos de datos en C
Introduccion a la programación
Eventos en Java
Diagramas de Interaccion de Objetos
Entorno grafico en Java
Entorno gráfico en Java
Excepciones
Colecciones en Java
Clases Anidadas
Conceptos basicos de Ecologia
Diagramas de casos de uso
Java y Bases de Datos
Programación en Java: Applets

Threads en Java

  • 2. Threads Un thread es un “contexto de ejecución”, proceso ligero o tarea. Dentro de un programa pueden haber varios threads abiertos. Un thread es un proceso ligero en donde hay un flujo secuencial de control y que utiliza los recursos disponibles para un programa. Al ejecutar un programa Java pueden haber varios threads ejecutándose (manejo de eventos, main, ...).
  • 4. Constructores de la clase Thread
  • 5. Ciclo de Vida de un Thread
  • 6. Métodos de la clase Thread void start(): Empieza la ejecución del Thread (hilo). Invoca al método run() de dicho hilo. public void run(): Constituye el cuerpo de un hilo en ejecución. Este es el único método del interfaz Runnable. Es llamado por el método start() después de que el hilo apropiado del sistema se haya inicializado. void stop(): Termina la ejecución del hilo. static void sleep (long millis) : permite que el thread espere determinado tiempo que se especifica en el parámetro (en milisegundos). Da oportunidad a los threads de cualquier prioridad de ejecutarse.
  • 7. Métodos de la clase Thread static void yield (): permite a los threads que se encuentran en estado listo (runnable) y que tienen la misma prioridad del thread que ejecuta el yield, ejecutarse. Da oportunidad solamente a threads que tengan igual prioridad de ejecutarse. void suspend(): Se usa para suspender la ejecución de un thread sin marcar un límite de tiempo. public final void resume() : Reanuda la ejecución de un Thread que estaba previamente en estado suspendido. public final boolean isAlive(): Permite conocer si un Thread está vivo, y ha sido iniciado (método start).
  • 8. Métodos de la clase Thread public final void setPriority(int newPriority) : Asigna al hilo la prioridad indicada por el valor pasado como parámetro. Hay bastantes constantes predefinidas para la prioridad, definidas en la clase Thread , tales como MIN_PRIORITY, NORM_PRIORITY y MAX_PRIORITY, que toman los valores 1, 5 y 10, respectivamente. public final int getPriority(): Este método devuelve la prioridad del hilo de ejecución en curso. public final void setName( String ): Este método permite identificar al hilo con un nombre. De esta manera se facilita la depuración de programas multihilo. public final getName(): Este método devuelve el valor actual, del nombre asignado al hilo en ejecución.
  • 9. Cómo crear Threads? Crear subclase de java.lang.Thread, haciendo overriding del método “run” de la clase “Thread”: public void run() Un ejemplo: un thread para calcular números primos class ThreadDePrimos extends Thread { long primoMinimo; ThreadDePrimos (long primoMinimo) { this.primoMinimo = primoMinimo; } public void run() { // calcular números primos // mayores que primoMinimo } }
  • 10. Cómo crear Threads? class HiloSencillo extends Thread { public HiloSencillo (String str) { super(str); } public void run() { for (int i = 0; i < 10; i++) { System.out.println(i + &quot; &quot; + getName()); try { sleep((int)(Math.random() * 1000)); } catch (InterruptedException e) {} } System.out.println(“FINAL: &quot; + getName()); } } class EjemploDosHilos { public static void main (String[] args) { new HiloSencillo (“Hola&quot;).start(); new HiloSencillo(“Adios&quot;).start(); } } Ver HiloSencillo.java
  • 11. Otra forma de crear Threads Interfase java.lang.Runnable: public interface Runnable { public void run(); } Dos constructores en java.lang.Thread: Thread(Runnable target) Thread(Runnable target, String nombre) Modo: Crear clase que implemente la interfase java.lang.Runnable. Redefinir el método run en la clase que implemente la interfaz Runnable. Crear un Thread.
  • 12. Ejemplo class HiloSencillo2 implements Runnable { private String nombre; public HiloSencillo2(String str) { this.nombre=str; } public String getName () { return this.nombre; } public void run() { for (int i = 0; i < 10; i++) { System.out.println(i + &quot; &quot; + getName()); try { Thread.sleep((int)(Math.random() * 1000)); } catch (InterruptedException e) {} } System.out.println(&quot;FINAL: &quot; + getName()); } }
  • 13. Ejemplo public class Ejemplo { public static void main (String[] args) { new Thread(new HiloSencillo2(&quot;Hola&quot;)).start(); new Thread(new HiloSencillo2(&quot;Adios&quot;)).start(); } } Ver EjemploHilo2.java