Exemple #1
0
        public void simular(int ciclos)
        {
            f                  = new FIFO();
            ciclosVacios       = 0;
            ciclosPendientes   = 0;
            procesosPendientes = 0;

            for (int i = 0; i < ciclos; i++)
            {
                if (r.Next(0, 4) == 0)
                {
                    Proceso temp = new Proceso();
                    f.enqueue(temp);
                    procesosPendientes++;
                    ciclosPendientes += temp.ciclosRestantes;
                }
                if (f.peek() != null)
                {
                    f.peek().ciclosRestantes--;
                    if (f.peek().ciclosRestantes == 0)
                    {
                        f.dequeue();
                        procesosPendientes--;
                    }
                    ciclosPendientes--;
                }
                else
                {
                    ciclosVacios++;
                }
            }
        }
Exemple #2
0
 public void pendientes()
 {
     while (miFIFO.peek() != null)
     {
         procesosPendientes++;
         ciclosPendientes += miFIFO.dequeue().ciclos;
     }
 }