BlockingCollectionT 类实现 列队操作
官方文檔
為實現?IProducerConsumerCollection<T>?的線程安全集合提供阻塞和限制功能。
?
通過?BlockingCollection<T> 實現列隊調用函數
建立全局變量?
BlockingCollection<string>?blockingCollection = new?BlockingCollection<string>();
?
建立調用函數,用來向隊列中添加信息。
void Do(string str){
if (blockingCollection.IsAddingCompleted)
{
return;
}
blockingCollection.Add(str); //添加隊列信息
}
在需要調用的函數新建線程,并運行
void ThreadLog()
{
foreach (string value in blockingCollection.GetConsumingEnumerable())
{
AppLog(value); //執行需要調用的函數
}
blockingCollection.Dispose();? //關閉接受才會執行,微軟要求釋放資源
}
關閉接受
?blockingCollection.CompleteAdding();?
轉載于:https://www.cnblogs.com/z45281625/p/11045244.html
總結
以上是生活随笔為你收集整理的BlockingCollectionT 类实现 列队操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: About SCCM 2012 UDA(
- 下一篇: 一个程序员的职业规划