public bool TryDequeue(out T result, out QueuePrority prority) { prority = default(QueuePrority); if (_highQ.TryDequeue(out result)) { prority = QueuePrority.High; return(true); } if (_normalQ.TryDequeue(out result)) { prority = QueuePrority.Normal; return(true); } return(false); }
private void _t_Elapsed(object sender, ElapsedEventArgs e) { Action result; while (_q.TryDequeue(out result)) { try { Log("[↑] " + Count); result.Invoke(); Log("Invoke ok."); } catch (Exception ex) { Log("Invoke failed.", ex); throw; } } }