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 simular(int ciclos)
     {
         for (int i = 0; i < ciclos; i++)
         {
             if (rand.Next(4) == 3)
             {
                 proceso = new Proceso(rand.Next(4, 15));
                 miFIFO.enqueue(proceso);
             }
             if (miFIFO.peek() != null)
             {
                 miFIFO.peek().ciclos--;
                 if (miFIFO.peek().ciclos == 0)
                 {
                     miFIFO.dequeue();
                 }
             }
             else
                 ciclosVacio++;
         }
 }