假設我想下載任務並行庫的多個文件,現在我想要顯示在從VS2010 IDE調試時有多少線程正在工作?這是一個使用TPL下載許多文件的代碼片段。如何查看有多少線程正在完成我的任務TPL?
var list = new[]
{
"http://google.com",
"http://yahoo.com",
"http://stackoverflow.com"
};
var tasks = Parallel.ForEach(list,
s =>
{
using (var client = new WebClient())
{
Console.WriteLine("starting to download {0}", s);
string result = client.DownloadString((string)s);
Console.WriteLine("finished downloading {0}", s);
}
});
請指導我或重定向到任何文章從哪裏我可以獲取知識,看看有多少線程正在運行來完成我的任務。
爲什麼這對你很重要?同樣喜歡'DownloadStringTaskAsync'超過同步版本。因爲操作本質上是異步的。 – 2014-11-25 08:24:39
如果您遇到VS 2010和.NET 4.0,應考慮升級到免費的Visual Studio 2013社區(與VS Pro相同),並開始使用添加'DownloadStringTaskAsync'的.NET 4.5。即使你必須支持XP(不運行4.5),你也可以將BCL Async和HttpClient包添加到VS 2013中。 – 2014-11-26 13:58:52
這還不清楚「即使你必須支持XP(不支持4.5)你可以將BCL Async和HttpClient包添加到VS 2013「你想說什麼。 – Thomas 2014-11-26 14:01:56