parallel.foreach

    5熱度

    1回答

    我有一個有趣的問題,在我的應用程序中出現死鎖。有一個內存數據存儲使用ReaderWriterLockSlim同步讀取和寫入。其中一種讀取方法使用Parallel.ForEach在給定一組過濾器的情況下搜索商店。有可能其中一個過濾器需要對同一商店進行恆定時間的讀取。這是產生死鎖的場景: 更新:下面的示例代碼。與實際的方法更新步驟調用 鑑於單一實例的ConcreteStoreThatExtendsGe

    40熱度

    4回答

    我正在使用Parallel.ForEach,我正在做一些數據庫更新,現在沒有設置MaxDegreeOfParallelism,雙核心處理器計算機導致sql客戶端超時,其中四核心處理器機器在某種程度上沒有超時。 現在我無法控制運行代碼的哪種處理器內核可用,但是有些設置可以通過MaxDegreeOfParallelism進行更改,可能會同時運行較少的操作並且不會導致超時? 我可以增加超時,但它不是一個

    0熱度

    1回答

    首先,我的免責聲明:我是平行noob。我認爲這將是一個簡單的「令人尷尬的平行」問題來解決,但它引發了一個循環。 我試圖從網上並行下載一些照片。原始照片是高分辨率,佔用相當大的空間,所以我將在下載後壓縮它們。 下面的代碼: private static void DownloadPhotos(ISet<MyPhoto> photos) { List<MyPhoto> faile

    4熱度

    1回答

    我有一個WCF服務,該服務又調用其他幾個Web服務。這些服務按照優先順序排列,但並行調用。每項服務都會以真或假做出迴應,並且當收到所有回覆後,最可取的積極信息將返回給客戶。 但是,在此期間的任何時候,最喜歡的服務可能會以積極的方式迴應。此時繼續查詢其他服務是沒有意義的,所以我希望取消執行並將結果返回給客戶端。 這一點我可以這樣做: // Use parallelOptions to store t

    1熱度

    1回答

    這是一些樣品的測試軟件,我想學習Parallel.Foreach循環功能 static void Main(string[] args) { List<string> Months = new List<string>() { "Jan", "Feb", "Mar", "Apr", "May", "June" }; Parallel.ForEa

    14熱度

    6回答

    有沒有一種簡單的方法來通過parallel.foreach?用斷點調試它的最佳方法是什麼?

    2熱度

    2回答

    我有以下代碼: Parallel.ForEach(this.listView2.CheckedItems, new ParallelOptions { MaxDegreeOfParallelism = 4 }, (CheckedItem) => { //do something }); ,我得到以下編譯

    0熱度

    1回答

    我有通過兩個並行爲每個循環發送Web請求的代碼。在此方法出現之前添加線程是否會導致這些任務的執行延遲,還是會實現更多Web請求? for (int i = 0; i < threads; i++) { populateClient(ServerID, debugLog, type, mC); tasks[i] = Task.Factory.Star

    1熱度

    2回答

    我在System.Data.SQLite之上編寫了一個庫,並意識到它(我的庫)在使用Parallel.ForEach時具有不可預知的行爲。我可能會最終調試(即如果我花時間),最有可能的是鎖定正確的部分,但現在讓我們假設我想阻止使用Parallel.ForEach,或者強制使用我的庫來允許(或導致)只有一個線程,我將如何繼續?

    218熱度

    4回答

    我有一個Parallel.ForEach()異步循環,我下載了一些網頁。我的帶寬有限,所以我只能每次下載x頁,但是Parallel.ForEach執行所需網頁的整個列表。 有沒有辦法在運行Parallel.ForEach時限制線程數或任何其他限制器? 演示代碼: Parallel.ForEach(listOfWebpages, webpage => { Download(webpage)