blockingcollection

    1熱度

    1回答

    問題:有多個線程訪問資源。我需要限制他們的號碼爲一個常數MaxThreads。無法進入線程池的線程應該會收到錯誤消息。 解決方案:我開始使用下面的算法BlockingCollection<string> pool,但我看到BlockingCollection要求CompleteAdding一個電話,我不能這樣做,因爲我總是傳入線程(我在下面的例子中硬編碼爲10調試目的),請考慮Web請求。 pub

    -1熱度

    1回答

    我有一個程序,我從中獲取來自Camera的位圖圖像加載它們在 阻塞線程中的收集和處理。我從UI線程調用SetImage。 它工作了幾秒鐘,然後我遇到了內存不足的例外。請指教 Class MyThread { BlockingCollection<Bitmap> q = new BlockingCollection<Bitmap>(); Thread thread;

    0熱度

    1回答

    在我的應用程序中,我有幾個線程用於處理TCP連接(一個用於讀取,一個用於發送,另一個用於處理新的輸入連接)。每個線程處理所有客戶端的給定類型的操作,因此可以說它將數據發送到不同IP上的5個實例。我正在使用BlockingCollection作爲緩衝區,因爲我正在從發送線程訪問它,但也從另一個生成要發送的數據的線程訪問它。即在發送線程中運行我的功能看起來是這樣的: private void Send

    0熱度

    1回答

    我有一個TCP監聽器監聽,並從服務器將數據寫入。我用BlockingCollection來存儲數據。這裏我不知道文件何時結束。所以,我的文件流總是打開的。我的代碼 部分是: private static BlockingCollection<string> Buffer = new BlockingCollection<string>(); Process() { var consume

    0熱度

    1回答

    我有一個使用ConcurrentDictionary的類。 在這個類中,有三個函數在這個ConcurrentDictionnary上執行一些操作。 每個函數都由不同的線程調用。 第一功能操作:dictionnary.Where,dictionnary.TryRemove 二級功能操作:dictionnary.Where 第三個功能操作:dictionnary.TryAdd while (!dict

    3熱度

    3回答

    我有以下場景。 我從數據庫中將50個作業轉換爲阻塞集合。 每個工作都是長期運行的。 (可能可能)。所以我想在一個單獨的線程中運行它們。 (我知道 - 將它們作爲Task.WhenAll運行並讓TPL找出它可能會更好 - 但我想控制同時運行多少次) 說我想同時運行其中5個(可配置) 我創建了5個任務(TPL),每個任務一個並行運行。 我想要做的是儘快拿起阻塞集合中的下一個工作的步驟4的工作之一是完成

    -1熱度

    1回答

    我希望將兩個BlockingCollection<>傳遞給任務。我試圖把它們放在一個對象數組中並傳遞它們,但它不起作用。誰能幫我這個?在那裏我試圖值傳遞的代碼如下記載: var lineHolders = new[] { new BlockingCollection<string>(linesCapacity), new BlockingCollection<string>(

    -1熱度

    1回答

    我想確定爲什麼我的阻止集合的性能顯得很慢。我的代碼的簡單版本在下面的問題中進行了說明。 我的問題在於如果BlockingCollection.TryTake(object,TimeSpan)立即返回新數據? TimeSpan gridNextTS = new TimeSpan(0, 0, 60); if (trPipe.TryTake(out tr, gridNextTS) == false)

    2熱度

    2回答

    我讀過試圖找到一些答案,其他一些similiar,但並非最相同的鏈接: How to consume a BlockingCollection<T> in batches 不過,不使用GetConsumingEnumerable(在上面的鏈接)似乎腥。 什麼是正確的方法來有效地阻止生產者,而消費者(應該是單數)清空集合? 【我們希望進行批量處理,因爲每個批次都會執行一次web服務調用,如果每個消息

    1熱度

    1回答

    我有一個關於使用BlockingCollection和Dictionary編寫代碼的問題。 我的目標是讀取一堆文本文件並以並行方式處理它們。已處理的數據將存儲在BlockingCollection實例中,以便可以將這些已處理的數據寫入文件。 我爲什麼要使用BlockingCollection的原因是... (1),以節省時間,而GenerateDataFiles()是做CPU密集型的工作和消費任務