您好,登錄后才能下訂單哦!
這篇文章主要介紹了C#怎么使用Task實現并行編程的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇C#怎么使用Task實現并行編程文章都會有所收獲,下面我們一起來看看吧。
用代碼來說的話, 應該是這樣:
// Program.cs using System; using System.Diagnostics; using System.Threading; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("早起三件事開始..."); Stopwatch sw = new Stopwatch(); sw.Start(); Dress(); BrushTeeth(); WashFace(); sw.Stop(); Console.WriteLine($"...早起三件事完成, 總耗時 {sw.Elapsed.Seconds} 秒"); Console.ReadKey(); } /// <summary> /// 穿衣 /// </summary> static void Dress() { Console.WriteLine($"穿衣開始..."); Stopwatch sw = new Stopwatch(); sw.Start(); Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 1)); sw.Stop(); Console.WriteLine($"...穿衣完成, 耗時 {sw.Elapsed.Seconds} 秒"); } /// <summary> /// 刷牙 /// </summary> static void BrushTeeth() { Console.WriteLine($"刷牙開始..."); Stopwatch sw = new Stopwatch(); sw.Start(); Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 3)); sw.Stop(); Console.WriteLine($"...刷牙完成, 耗時 {sw.Elapsed.Seconds} 秒"); } /// <summary> /// 洗臉 /// </summary> static void WashFace() { Console.WriteLine($"洗臉開始..."); Stopwatch sw = new Stopwatch(); sw.Start(); Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 5)); sw.Stop(); Console.WriteLine($"...系列完成, 耗時 {sw.Elapsed.Seconds} 秒"); } } }
運行之后, 等待一會, 會看到如下輸出:
早起三件事開始...
穿衣開始...
...穿衣完成, 耗時 1 秒
刷牙開始...
...刷牙完成, 耗時 3 秒
洗臉開始...
...系列完成, 耗時 5 秒
...早起三件事完成, 總耗時 9 秒
一件一件事慢慢來, 總耗時 9 秒...
一看時間, 哎呦我去, 快遲到了, 穿衣 & 刷牙 & 洗臉一起來吧...別問我現實中怎么實現的
總而言之代碼是這樣滴:
// Program.cs using System; using System.Diagnostics; using System.Threading; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("早起三件事開始..."); Stopwatch sw = new Stopwatch(); sw.Start(); Task dressTask = Task.Factory.StartNew(action: Dress); Task brushTeethTask = Task.Factory.StartNew(action: BrushTeeth); Task washFaceTask = Task.Factory.StartNew(action: WashFace); Task.WaitAll(dressTask, brushTeethTask, washFaceTask); sw.Stop(); Console.WriteLine($"...早起三件事完成, 總耗時 {sw.Elapsed.Seconds} 秒"); Console.ReadKey(); } /// <summary> /// 穿衣 /// </summary> static void Dress() { Console.WriteLine($"穿衣開始..."); Stopwatch sw = new Stopwatch(); sw.Start(); Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 1)); sw.Stop(); Console.WriteLine($"...穿衣完成, 耗時 {sw.Elapsed.Seconds} 秒"); } /// <summary> /// 刷牙 /// </summary> static void BrushTeeth() { Console.WriteLine($"刷牙開始..."); Stopwatch sw = new Stopwatch(); sw.Start(); Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 3)); sw.Stop(); Console.WriteLine($"...刷牙完成, 耗時 {sw.Elapsed.Seconds} 秒"); } /// <summary> /// 洗臉 /// </summary> static void WashFace() { Console.WriteLine($"洗臉開始..."); Stopwatch sw = new Stopwatch(); sw.Start(); Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 5)); sw.Stop(); Console.WriteLine($"...系列完成, 耗時 {sw.Elapsed.Seconds} 秒"); } } }
啟動運行之后, 等待一會, 你應該會看到如下輸出:
早起三件事開始...
刷牙開始...
洗臉開始...
穿衣開始...
...穿衣完成, 耗時 1 秒
...刷牙完成, 耗時 3 秒
...系列完成, 耗時 5 秒
...早起三件事完成, 總耗時 5 秒
可以看到, 幾件事一起干了, 總耗時只用了 5 秒.
關于“C#怎么使用Task實現并行編程”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“C#怎么使用Task實現并行編程”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。