/// <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); }
/// <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); }