blockingcollection

    3熱度

    1回答

    的MSDN言論在http://msdn.microsoft.com/en-us/library/dd267312.aspx狀態...... 「爲BlockingCollection默認集合類型ConcurrentQueue」 這是否意味着,當我在收集運行「GetConsumingEnumerable()」,項目拉動正在從隊列中出列,使用後會標記爲GC? 換句話說......在下面的代碼片段, fo

    0熱度

    1回答

    我見過很多關於如何在生產者 - 消費者場景中使用BlockingCollection<T>的示例,甚至在某個時間如何消耗一個元素here。雖然我對並行編程頗爲陌生,所以我正面臨以下問題: 問題確實在於如何在下面的示例中編寫方法ConsumerProducerExample.ConsumerMethod,以使其消耗第一個2 doubleBlockingCollection<Double>對於數組中的

    1熱度

    1回答

    我有一個組件向一個基於Web的API提交請求,但這些請求必須被限制,以免違反API的數據限制。這意味着所有請求都必須通過一個隊列來控制它們提交的速率,但它們可以(也應該)同時執行以實現最大吞吐量。每個請求在將來的某個時刻必須將某些數據返回給調用代碼。 我努力創造一個很好的模型來處理數據的返回。 使用BlockingCollection我不能僅從Schedule方法返回Task<TResult>,因

    0熱度

    1回答

    我需要使用阻塞集合,以便我可以異步調用委託。不幸的是,委託有兩個參數,包括一個結構和一個額外的字符串。使用該結構是因爲它是通過Interop調用外部c函數的結果。 現在我正在尋找一種避免在使用阻塞集合時複製結構的方法。 目前我的代碼看起來是這樣的: ConsumerQueue.Enqueue(new StructTransfer(structValue, stringValue)); 消費者解

    0熱度

    1回答

    我正在尋找一個類似於BlockingCollection的集合對象,讓我有多個消費者。但是,我需要這些多個消費者來消費所有的物品。他們無法從中刪除項目。從本質上講,我需要能夠從另一個線程添加項目,並期望任何獲得Enumerator的人滾動瀏覽添加的所有項目。並阻止直到它關閉。 是否有這樣的集合類型在任何地方?編輯] 好主,猜我會澄清... BlockingCollection.GetConsumi

    2熱度

    1回答

    我有一個綁定到一個blockingcollection在我的視圖模型 <ListBox Grid.Row="1" ItemsSource="{Binding PlantControllers}" 和財產 public BlockingCollection<PLANTCONTROLLER> PlantControllers { get { return _plant.P

    1熱度

    1回答

    我試圖圍繞BlockingCollection和我的生產者/消費者問題圍繞我的頭。 我想達到的目標,如下: 各種各樣的線程安全隊列在FIFO方式持有對象的列表(「工作」)。 第二個線程安全隊列,它也以FIFO方式保存這些作業的結果列表。 換句話說: Inbound "Job" Data, can come at any time from multiple threads ==> Thr

    3熱度

    1回答

    我有一個BlockingCollection(ConcurrentBag,50000),我正在嘗試爲生產者線程使用50,000的非常小的有界容量,以最大化我可以在我的消費者中處理的記錄數線程的ConcurrentDictionary。生產者比消費者要快得多,否則會消耗大部分內存。 不幸的是,我立即注意到,當我的測試數據執行時,我的ConcurrentDictionary中的記錄總數現在大大低於應該

    7熱度

    2回答

    我有以下代碼與一個生產者線程和多個消費者線程。你知道多個消費者是否線程安全。例如,是否有線程1消耗的可能性,並且線程2並行使用並更改線程1中使用的項目的值? namespace BlockingColl { public partial class Form1 : Form { public Form1() { InitializeComponent();

    0熱度

    2回答

    這裏是我的問題。 我在一家BlockingCollection public void blockingProducer(BitmapImage imgBSource) { if (!collection.IsAddingCompleted) collection.Add(imgBSource); } 裝載發生在backgroungwork線程負載