Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. package multiplesprocesos;
  2.  
  3. import java.util.Random;
  4. import java.util.logging.Level;
  5. import java.util.logging.Logger;
  6.  
  7. /**
  8.  *
  9.  * @author Rafa
  10.  */
  11. public class MultiplesProcesos implements Runnable{
  12.     private final static Random generador = new Random();
  13.     private final String nombreProceso;
  14.     private final int tmpInactico;
  15.    
  16.     public MultiplesProcesos(String nombre){
  17.         nombreProceso = nombre;//establece nombre del proceso
  18.         //tiempo de inactividad aleatorio de 0 a 5 segundos
  19.         tmpInactico = generador.nextInt(5000);//milisegundos
  20.     }
  21.    
  22.     //EL metodo run contiene el codigo que ejecutara el subproceso
  23.     @Override
  24.     public void run() {
  25.         System.out.printf("%s va a estar inactivo el tiempo %d milisegundos.\n", nombreProceso, tmpInactico);
  26.         try {
  27.             Thread.sleep(tmpInactico);
  28.         } catch (InterruptedException ex) {
  29.             Logger.getLogger(MultiplesProcesos.class.getName()).log(Level.SEVERE, null, ex);
  30.         }
  31.         System.out.printf("%s Termino su actividad\n", nombreProceso);
  32.     }
  33.    
  34.     public static void main(String[] args) {
  35.         System.out.println("Creacion de subprocesos");
  36.        
  37.         //Se crea los subprocesos con un nuevo objeto Runnable
  38.         Thread subproceso1 = new Thread(new MultiplesProcesos("proceso1"));
  39.         Thread subproceso2 = new Thread(new MultiplesProcesos("proceso2"));
  40.         Thread subproceso3 = new Thread(new MultiplesProcesos("proceso3"));
  41.        
  42.         System.out.println("Subprocesos creados");
  43.        
  44.         //Inicia los subprocesos y los pone en estado de ejecucion
  45.         subproceso1.start();
  46.         subproceso2.start();
  47.         subproceso3.start();
  48.     }
  49.  
  50.    
  51. }