是否有可能做使用新的異步/等待下面的函數功能在C#:轉換使用線程使用異步/等待
static void Main(string[] args)
{
Thread[] thread = new Thread[101];
for (int i = 0; i < 101; i++)
{
thread[i] = new Thread(IntenseWork);
thread[i].Start();
}
Finish(thread);
}
private static void IntenseWork()
{
Thread.Sleep(5000);
}
private static void Finish(Thread[] threadArray)
{
foreach (Thread ta in threadArray)
{
ta.Join();
}
Console.WriteLine("Press Any Key to Continue...");
Console.ReadKey();
}
我知道有異步的侷限性/恭候您只能使用線程。但是對於像這樣的例子,其中有一個功能DoWork需要同時在多個線程上運行,可以這樣做嗎?
創建'Task'收集和使用'Task.WhenAll' – Nkosi
@Nkosi你能不能給我,我該怎麼辦,一個小樣本? –
有人已經提供了答案。您還應該花些時間閱讀本文參考資料[異步/等待 - 異步編程最佳實踐](https://msdn.microsoft.com/zh-cn/magazine/jj991977.aspx) – Nkosi