並行Foreach中我打電話給一個服務,它提供了關於一篇文章的所有信息,如果我嘗試僅使用一個需要6秒的信息。如何驗證Parallel.Foreach是否正常工作
我有關的問題:
如果我要花費大約4篇文章的信息,如何需要多長時間? + - 6秒??
實際上這樣做需要27秒,有一個簡單的方法來檢查它是否在並行工作?
用C#MVC3工作
代碼:
private void PopulateArticleDictionary()
{
List<Article> tmpArticleFirstLevel = new List<Article>();
Parallel.ForEach<Article>(ArticlesFirstLevel,
article =>
{
var articleInDepth = ArticleService.SearchByCode(article.Code, article.Code18, article.Quantity, "ES", "EUR");
if (articleInDepth == null)
{
tmpArticleFirstLevel.Add(article);
}
else
{
tmpArticleFirstLevel.Add(articleInDepth);
}
}
);
ArticlesFirstLevel = tmpArticleFirstLevel;
}
感謝的!
你爲什麼認爲它不起作用? –
也許相關:http://stackoverflow.com/questions/2960056/trying-to-run-multiple-http-requests-in-parallel-but-being-limited-by-windows – Prinzhorn
'列表'不是線程 - 安全的多個作家。使用'System.Collections.Concurrent'命名空間中的鎖或其他東西。 –