Programación reactivable
/**
*Clase que implementa la interfaz Runnable
*
* @author Lei Zhimin 2008-9-13 18:12:10
*/
clase pública dosometingimplements Ejecutable {
Nombre de cadena privada;
public DoSomething(nombre de cadena){
this.name = nombre
}
publicvoid run() {
for(int I = 0; i<5;i++) {
for(long k = 0; k & lt100000000;k++);
sistema println(nombre+":"+ I);
}
}
}
/**
*Prueba la implementación de la clase Runnable programa.
*
* @autor Lei Zhimin 2008-9-13 18:15:02
*/
publicclass TestRunnable {
publicstaticvoid main(String[]args){
hacer algo ds 1 = nuevo hacer algo(" A San ");
Hacer algo ds2 = nuevo Hacer algo ( "John Doe");
Hilo t1 = nuevo hilo (ds 1);
Hilo t2 = nuevo hilo (ds2
t 1. inicio); ();
T2 . start();
}
}
Resultados de la implementación:
Lisi : 0
Ah San: 0
Li Si: 1
Ah San: 1
Lisi: 2
李思:3
Ah San:2
李四:4
Ah San:3
三:四
El proceso finaliza con el código de salida 0
2. Ejemplo de subprocesos múltiples implementado al extender la clase de subproceso.
/**
*Prueba programas multiproceso implementados extendiendo la clase Thread.
*
* @author Lei Zhimin 2008-9-13 18:22:13
*/
clase pública TestThreadextends Thread {
Public TestThread(nombre de cadena){
Super(nombre);
}
publicvoid run() {
for(int I = 0;i<5;i++){
for(long k = 0;k<100000000;k++);
system out . getname()+":"+I);
}
}
publicstaticvoid main(String[]args){
hilo t 1 = nuevo hilo de prueba(" A San ");
Hilo t2 = nuevo hilo de prueba("李思");
t 1. start ();
T2 . start();
}
}
Resultados de la implementación:
A Tres: 0
Lisi: 0
Ah San: 1
Li Si: 1
Ah San: 2
Lisi: 2
Asan: 3
三:四
Lisi: 3
Lisi: 4
El proceso finalizó con código de salida 0