Tres métodos de implementación comunes de subprocesos múltiples
1. Heredar la clase Thread y sobrecargar el método de ejecución.
2. Implemente la interfaz Runnable y anule el método de ejecución.
3. Implementando la interfaz Callable y usando el contenedor FutureTask del hilo
/**
* Heredando (extendiendo) directamente Thread de su propia clase y Al sobrecargar el método run(), puede iniciar un hilo a través del método start() de la clase Thread, y ejecutar el método start() de la clase Thread es la única forma de iniciar un hilo.
* @author Lucky
*/
clase pública myThread_1 extiende Thread{
public void run(){
System.out.println("método 1: heredar la clase Thread, anular el método de ejecución");
}
public static void main(String args[]){
miHilo_1 m1=nuevo miHilo_1();
miHilo_1 m2=nuevo miHilo_1()
m1.start(); m2.start();
}?
}
/**
* Implementando la interfaz Runnable y sobrecargando la ejecución método Y pase una instancia de la clase de implementación de la interfaz como parámetro al constructor del hilo, luego puede iniciar el hilo llamando al método start() de la clase del hilo.
* @author Lucky
* */
clase myt2 implementa Runnable{
public void run(){
System.out.println("Método 2: Inicie el hilo implementando la interfaz Runnable y sobrecargue el método de ejecución"); p> public class myThread_2{
public static void main(String args[]){
// Para iniciar MyThread_2,
// Crea un Objeto de subclase ejecutable y pasar este objeto como parámetro a la instancia del subproceso,
// para que se pueda llamar al método start() para iniciar el subproceso.
//start() es un método de la clase Thread.
myt2 m=new myt2();
Hilo t1= nuevo Hilo(m
t1.start(); > }
}
/** Cree hilos a través de Callable y FutureTask.
Cree una clase de implementación de la interfaz Callable e implemente el método Call;
* Cree un objeto FutureTasklt;Objectgt; de FutureTasklt; Objectgt;;
* Finalmente, inicie el hilo llamando al método start() de la clase de hilo.
* @author Lucky
*/
import java.util.concurrent.Callable
import java.util.concurrent.
clase pública myThread_3 {
public static void main(String args[]){
Callablelt; c=new Objectgt ();
FutureTask implementa la clase y anula el método call()
@SuppressWarnings("hiding")
class myt3lt; implementa Callablelt;
p>// Anula el método call()
public Object call() lanza una excepción{
System.out.println("Método 3: subprocesamiento implementando la interfaz Callable y usando el contenedor FutureTask");
return null;
}
}