C# 异步编程:async和await (2)
2017-03-02 14:30
561 查看
以下内容主要来自于C#并发编程经典实例:为读书的一些记录和练习。
1、在异步中等待一段的时间
Task.Delay(timeSpan);
2、报告进度
static void Main(string[] args) { CallMyMethodAsyc(); Console.WriteLine("Main End"); Console.Read(); } static async Task MyMethodAsync(IProgress<double> progress = null) { double percentComplate = 0; while (percentComplate < 100) { await Task.Run(() => { Task.Delay(TimeSpan.FromMilliseconds(10)); }); percentComplate += 2; if (progress != null) { progress.Report(percentComplate); } } } static async Task CallMyMethodAsyc() { var progress = new Progress<double>(); progress.ProgressChanged += progress_ProgressChanged; await MyMethodAsync(progress); } static void progress_ProgressChanged(object sender, double e) { Console.WriteLine(e); }
等待一组任务完成或者任意一个任务完成
Task.WhenAll(); Task.WhenAny();
相关文章推荐
- [转][你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- C#~异步编程再续~await与async引起的w3wp.exe崩溃
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- C#~异步编程再续~await与async引起的w3wp.exe崩溃-问题友好的解决
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- 使用 Async 和 Await 的异步编程(C# 和 Visual Basic)[msdn.microsoft.com]
- 【转】【C#】C# 5.0 新特性——Async和Await使异步编程更简单
- [C#]剖析异步编程语法糖: async和await
- C#~异步编程续~.net4.5主推的await&async应用(转)
- 【转】C# Async/Await 异步编程中的最佳做法
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- C#基础系列——异步编程初探:async和await
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- c# 异步编程demo (async await)
- [C#] 走进异步编程的世界 - 开始接触 async/await
- C# 异步编程基础 async/await
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- C# 5.0 新特性——Async和Await使异步编程更简单
- 使用Async和Await进行异步编程(C#版 适用于VS2015) z