none
Cola en espera RRS feed

  • Pregunta

  • Buenos días, estoy tratando de averiguar como hago para poner en espera un sistema de cola, cuando el cajero o los cajeros estén ocupados y cuando se desocupe algún cajero pase el que estaba esperando.?

    ¿O que solución o consejo me pueden dar?

    Gracias.

    lunes, 2 de marzo de 2020 15:05

Respuestas

  • Hola a todos

    ya pude resolver lo de las colas y esta fue mi solución.

                                            

            private Queue<int> cola1 = new Queue<int>();


            public BancoPopular(int max)
            {

                numero = max;
                numero /= 3;

            }



            public Boolean caja1_llenaBancoP()
            {

                if (cola1.Count >= numero)
                {
                    return true;
                }
                else
                {
                    return false;
                }

            }

            public Boolean caja1_VaciaBancoP()
            {
                if (cola1.Count == 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }

            public void AgregarCaja1BancoP(int n)
            {
                if (caja1_llenaBancoP() == true)
                {
                    Console.WriteLine("La caja 1 esta llena");
                }
                else
                {
                    cola1.Enqueue(n);
                }

            }

            public int EliminarColaCaja1BancoP()
            {
                int nu = 0;
                if (caja1_VaciaBancoP() == true)
                {
                    Console.WriteLine("La caja esta vacia");

                }
                else
                {
                    nu = cola1.Peek();
                    cola1.Dequeue();
                }
                return nu;

            }


    jueves, 5 de marzo de 2020 14:40

Todas las respuestas

  • hola jhonatan

    puedes consultar con await y puedes realizar otras tareas mientras un proceso espera

    revisa este link https://www.campusmvp.es/recursos/post/async-y-await-en-c-como-manejar-asincronismo-en-net-de-manera-facil.aspx

    lunes, 2 de marzo de 2020 16:45
  • Hola greg_dorian

    pero si me gustaría saber como manejar el proceso de espera de la cola.

    lunes, 2 de marzo de 2020 18:58
  • hola

    No das mucho detalle de que tipo de desarrollo estas realizando, pero si quieres usar queues podrias aplicar

    Ms Queue

    o

    Rabbit MQ

    estos son sistemas de colas donde pones un mensaje y varios clientes pueden ir tomando de este los mensajes

    Pero no hay una "espera" como mencionas, solo hay mensajes y los clientes toman de este a medida que lo requieran

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 3 de marzo de 2020 13:36
  • Hola a todos

    ya pude resolver lo de las colas y esta fue mi solución.

                                            

            private Queue<int> cola1 = new Queue<int>();


            public BancoPopular(int max)
            {

                numero = max;
                numero /= 3;

            }



            public Boolean caja1_llenaBancoP()
            {

                if (cola1.Count >= numero)
                {
                    return true;
                }
                else
                {
                    return false;
                }

            }

            public Boolean caja1_VaciaBancoP()
            {
                if (cola1.Count == 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }

            public void AgregarCaja1BancoP(int n)
            {
                if (caja1_llenaBancoP() == true)
                {
                    Console.WriteLine("La caja 1 esta llena");
                }
                else
                {
                    cola1.Enqueue(n);
                }

            }

            public int EliminarColaCaja1BancoP()
            {
                int nu = 0;
                if (caja1_VaciaBancoP() == true)
                {
                    Console.WriteLine("La caja esta vacia");

                }
                else
                {
                    nu = cola1.Peek();
                    cola1.Dequeue();
                }
                return nu;

            }


    jueves, 5 de marzo de 2020 14:40