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