Ejemplo n.º 1
0
        public T Pop()
        {
            T valorPop = default(T);

            if (!Empty)
            {
                valorPop = pila.Pop();
            }
            else if (ThrowExceptionIfEmpty)
            {
                throw new Exception("Is empty");
            }
            return(valorPop);
        }
Ejemplo n.º 2
0
        static void HazFaena()
        {
            Tiket <TipoTrabajo> tiket = null;

            while (faenasEstaticas.Count > 0)
            {
                tiket = faenasEstaticas.Pop();
                if (tiket != null)
                {
                    feanasHaciendose.Add(tiket.IdUnico, new KeyValuePair <Thread, Tiket <TipoTrabajo> >(Thread.CurrentThread, tiket));
                    tiket.EstadoFaena = Tiket <TipoTrabajo> .EstadoFaenaEnum.Haciendose;
                    try {
                        tiket.HazFaena();
                    } catch (Exception ex) {
                        tiket.Excepcion(ex);
                    }
                    QuitarFaena(tiket);
                    feanasHaciendose.Remove(tiket.IdUnico);
                    tiket.EstadoFaena = Tiket <TipoTrabajo> .EstadoFaenaEnum.Acabado;
                    tiket.FaenaHechaEvent();
                }
            }
            hilosFaenas.Remove(Thread.CurrentThread.Name);
        }