* -- FCFS
* -- SJF COOPERATIVO
* -- POR PRIORIDADES
*/
import javax.swing.*;
public class Hilo extends Thread {
int retardo;
int limite=1;
int numeroProceso[];
int red,green,blue;
String nombre;
String Titulo;
JButton p1;
Simulador sim;
int tiempo;
int valores [];
/*CONSTRUCTOR RECIBE LOS VALORES DE RAFAGA, LOS NMEROS DE LOS PROCESOS
* Y EL NOMBRE DEL ALGORITMO*/
public Hilo(int []valores1,int [] NumeroProceso,String Title){
this.valores=valores1;
this.Titulo=Title;
this.numeroProceso=NumeroProceso;
sim=new Simulador();
sim.setExtendedState(Simulador.MAXIMIZED_BOTH);
tiempo = 0;
}/*FIN CONSTRUCTOR*/
/*FUNCION RUN. SE ENCARGA DE EJECUTAR LA SIMULACION CON SU RESPECTIVO
* TIEMPO DE RETARDO, DESDE AQUI SE LLAMAN A LOS METODOS DE LA CLASE
* Simulador, QUE HACEN EL MOVIMIENTO DE LOS PROCESOS*/
public void run(){
while (limite<=valores.length) {
red=(int)(Math.random()*256);
green=(int)(Math.random()*256);
blue=(int)(Math.random()*256);
try {
sim.setTitle(" Simulación del algoritmo "+Titulo);
sim.Nuevo_Listo(red,green,blue);
sim.Listo_Cola(red,green,blue);
Thread.sleep(300);
tiempo = tiempo + 300;
limite++;
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
/*Ejecutando los procesos*/
limite=0;
while(limite
sim.setTitle(" Simulación del algoritmo "+Titulo);
sim.Listo_Ejecucion(numeroProceso[limite]);
Thread.sleep(valores[limite]*100);
sim.Ejecucion_Terminado(numeroProceso[limite]);
tiempo = tiempo + 300;
limite++;
} catch (InterruptedException e)
{
e.printStackTrace();
}
}/*Fin del ciclo que ejecuta los procesos*/
}/*Fin funcion RUN*/
}/*FIN DE LA CLASE Hilo*/
0 comentarios:
Publicar un comentario