我需要啓動不是並行的「數量」任務(變量但少於10),並且等待它們全部完成,從每個結果。 我得到他們每個人的結果,保存在列表中,然後最終使用它。並行運行多個任務(變量編號),並在所有完成時繼續運行
這是我的代碼,它正在工作,但我認爲那裏應該有一個更乾淨的方法。
任務對引起
List<String> Arguments = new List<String> { "AA", "BB", "CC" };
List<String> ResultList = new List<String>();
//**AT LEAST I'VE GOT ONE**
Task<String> Tasks = Task<String>.Factory.StartNew(() =>
{
return DoSomething(Arguments[0]);
});
ResultList.Add(Tasks.Result);
for (Int32 i = 1; i < Arguments.Count; i++)
{
ResultList.Add(Tasks.ContinueWith<String>(Result =>
{
return DoSomething(Arguments[i]);
}).Result);
}
//**DO I NEED THIS?? It's working even without!!**
//Tasks.Wait();
for (Int32 i = 0; i < ResultList.Count; i++)
{
textBox1.AppendText(ResultList[i] + Environment.NewLine + Environment.NewLine);
}
爲什麼你需要多個任務?爲什麼你需要一個任務,當你所做的只是**同步**等待它完成。 – Alex
你可以使用async await – Orifjon
'Tasks.Result'不會編譯。 –