jueves, 8 de marzo de 2012

PRACTICA 4: SUBPROCESOS EN JAVA

PRACTICA 4
SUBPROCESOS EN JAVA

Objetivo.
Ejemplificar los diferentes estados en los cuales puede estar un proceso aplicando la programación con hilos en java.

Metodología.
Crear un archivo en java y que en ejecución cree dos subprocesos usando hilos. (el código correcto en JAVA se anexa).
Ejecute varias veces el programa y comente los resultados.
Coloque comentarios descriptivos, en el archivo para cada línea del código
Anexe figuras donde demuestre la ejecución del programa.


Anexo código.

public class Hilos { //nombre de la clase
   public static void main( String args[] )// metodo donde mandamos imprimir
   {
      ImprimirSubproceso subproceso1 = new ImprimirSubproceso( "subproceso1" );//creación de los objetos a imprimir
      ImprimirSubproceso subproceso2 = new ImprimirSubproceso( "subproceso2" );//creación de los objetos a imprimir 
      System.err.println( "Iniciando (arrancando) subprocesos" );//muestra lo que dirá en pantalla
 subproceso1.start();//El método start crea los recuros del sistema necesarios para que el subproceso se ejecute y a continuación, llama al método run, el subproceso se dice que está en el estado Runnable.
      subproceso2.start();//El método start crea los recursos del sistema necesarios para que el subproceso se ejecute y a continuación, llama al método run, el subproceso se dice que está en el estado Runnable.
   }
}
class ImprimirSubproceso extends Thread {// método donde llamamos el método anterior y hacemos una extension con un hilo
   private int tiempoInactividad;// entero de tipo privado
       public ImprimirSubproceso( String nombre )// llama al constructor de la clase de la que se hereda (extends)"super clase"
   {
      super( nombre );//superclase
      tiempoInactividad = ( int ) ( Math.random() * 5000 );//operación matemática
   }    
  public void run()//El método run es el corazón del subproceso, es donde tiene lugar la acción del subproceso
   {
      try {
         System.err.println(
            getName() + " va a estar inactivo durante " + tiempoInactividad );// valor del nombre
         Thread.sleep( tiempoInactividad );// La función sleep se hereda de Thread y su argumento es el tiempo de pausa en milisegundos.
      }
      catch ( InterruptedException excepcion ) {
         excepcion.printStackTrace();
      }
      System.err.println( "El " + getName() + " terminó su inactividad" );//interrupción del proceso.}
}



REFLEXIÓN:
Para hablar de hilos en Java primeramente se necesita entender lo que es un hilo. Un hilo es un proceso que se está ejecutando en un momento determinado en nuestro sistema operativo, como cualquier otra tarea, esto se realiza directamente en el procesador. Existen los llamados 'demonios' que son los procesos que define el sistema en sí para poder funcionar y otros que llamaremos los hilos definidos por el usuario o por el programador, estos últimos son procesos a los que el programador define un comportamiento e inicia en un momento específico.

No hay comentarios:

Publicar un comentario