Hay dos formas de crear un hilo:
- Al extender la clase Thread
- Implementando la interfaz Runnable.
Clase de hilo:
La clase Thread proporciona constructores y métodos para crear y realizar operaciones en un hilo. La clase Thread extiende la clase Object e implementa la interfaz Runnable.
Constructores de clase Thread de uso común:
- Hilo()
- Hilo (nombre de cadena)
- Hilo (ejecutable r)
- Hilo (r ejecutable, nombre de cadena)
Métodos comúnmente utilizados de la clase Thread:
Interfaz ejecutable:
La interfaz Runnable debe ser implementada por cualquier clase cuyas instancias estén destinadas a ser ejecutadas por un subproceso. La interfaz ejecutable tiene solo un método llamado run().
exportar gimp como jpg
Iniciando un hilo:
El método inicio() de la clase Thread se utiliza para iniciar un hilo recién creado. Realiza las siguientes tareas:
- Se inicia un nuevo hilo (con una nueva pila de llamadas).
- El hilo pasa del estado Nuevo al estado Ejecutable.
- Cuando el hilo tenga la oportunidad de ejecutarse, se ejecutará su método run() de destino.
1) Ejemplo de subproceso Java ampliando la clase Thread
Nombre del archivo: Multi.java
class Multi extends Thread{ public void run(){ System.out.println('thread is running...'); } public static void main(String args[]){ Multi t1=new Multi(); t1.start(); } }
Producción:
algoritmos de clasificación fusionar clasificación
thread is running...
2) Ejemplo de subproceso Java mediante la implementación de la interfaz Runnable
Nombre del archivo: Multi3.java
class Multi3 implements Runnable{ public void run(){ System.out.println('thread is running...'); } public static void main(String args[]){ Multi3 m1=new Multi3(); Thread t1 =new Thread(m1); // Using the constructor Thread(Runnable r) t1.start(); } }
Producción:
thread is running...
Si no está ampliando la clase Thread, su objeto de clase no será tratado como un objeto thread. Por lo tanto, debe crear explícitamente el objeto de clase Thread. Estamos pasando el objeto de su clase que implementa Runnable para que el método run() de su clase pueda ejecutarse.
3) Uso de la clase Thread: Thread(String Name)
Podemos usar directamente la clase Thread para generar nuevos hilos usando los constructores definidos anteriormente.
Nombre del archivo: MyThread1.java
cómo encontrar números bloqueados en Android
public class MyThread1 { // Main method public static void main(String argvs[]) { // creating an object of the Thread class using the constructor Thread(String name) Thread t= new Thread('My first thread'); // the start() method moves the thread to the active state t.start(); // getting the thread name by invoking the getName() method String str = t.getName(); System.out.println(str); } }
Producción:
My first thread
4) Uso de la clase Thread: Thread(Runnable r, nombre de cadena)
Observe el siguiente programa.
Nombre del archivo: MyThread2.java
public class MyThread2 implements Runnable { public void run() { System.out.println('Now the thread is running ...'); } // main method public static void main(String argvs[]) { // creating an object of the class MyThread2 Runnable r1 = new MyThread2(); // creating an object of the class Thread using Thread(Runnable r, String name) Thread th1 = new Thread(r1, 'My new thread'); // the start() method moves the thread to the active state th1.start(); // getting the thread name by invoking the getName() method String str = th1.getName(); System.out.println(str); } }
Producción:
My new thread Now the thread is running ...