本文整理汇总了C#中BlockingQueue.EnqueueMultiple方法的典型用法代码示例。如果您正苦于以下问题:C# BlockingQueue.EnqueueMultiple方法的具体用法?C# BlockingQueue.EnqueueMultiple怎么用?C# BlockingQueue.EnqueueMultiple使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BlockingQueue
的用法示例。
在下文中一共展示了BlockingQueue.EnqueueMultiple方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SendTask
protected IEnumerator<object> SendTask()
{
var sleep = new Sleep(SendInterval);
Dictionary<string, object> prefs = new Dictionary<string, object>();
yield return Preferences.GetAll().Bind(() => prefs);
List<string> allItems = new List<string>();
var oldQueue = Queue;
Queue = new BlockingQueue<string>();
if (oldQueue != null)
Queue.EnqueueMultiple(oldQueue.DequeueAll());
while (true) {
var nextItem = Queue.Dequeue();
using (nextItem)
yield return nextItem;
yield return sleep;
allItems.Clear();
allItems.Add(nextItem.Result);
allItems.AddRange(Queue.DequeueAll());
yield return new Start(
Send(prefs, allItems.ToArray()), TaskExecutionPolicy.RunAsBackgroundTask
);
}
}