예제 #1
0
        /// <summary>
        /// Desencola el primer objeto de la lista, se bloquea hasta que alguien inserte un elemento
        /// </summary>
        /// <returns>El primer objeto de la cola, null si está vacía</returns>
        public Event draw()
        {
            monitor.Enter();
            while (itemCount == 0)
            {
                monitor.Wait();
            }

            Event eventHandler = queue.Dequeue();

            itemCount--;
            monitor.Exit();
            return(eventHandler);
        }
예제 #2
0
        /// <summary>
        /// Obtiene el primer mensaje en la cola, null si esta vacía
        /// </summary>
        /// <returns>el primer mensaje de la cola o null si está vacía</returns>
        public Message draw()
        {
            monitor.Enter();
            while (itemCount == 0)
            {
                monitor.Wait();
            }

            Message message = queue.Dequeue();

            itemCount--;
            monitor.Exit();
            return(message);
        }