NET 中的 async/await 异步编程

MSDN上的文章

**async与await最佳实践

需要先理解thread的用法,再掌握task的用法,才能力理解async和await的用法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Threading;
using System.Threading.Tasks; namespace TestApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("-------主线程启动-------");
Task<int> task = GetLengthAsync();
Console.WriteLine("Main方法做其他事情");
Console.WriteLine("Task返回的值" + task.Result);
Console.WriteLine("-------主线程结束-------");
} static Task<int> GetLengthAsync()
{
Console.WriteLine("GetLengthAsync Start");
Task<int> task = Task<int>.Run(() => { string str = GetStringAsync().Result;
Console.WriteLine("GetLengthAsync End");
return str.Length; });
return task;
} static Task<string> GetStringAsync()
{
return Task<string>.Run(() => { Thread.Sleep(2000); return "finished"; });
}
}
}

最新文章

  1. linux下c程序的链接、装载和库(3)
  2. $(window).height()获取浏览器高度不准
  3. 9、FTP封杀用户、限制传输速率、限制访问目录、为匿名用户提供下载资源
  4. c++字符串变量---8
  5. Swift中的Optional类型 (可选类型)与强制解包 ? !
  6. Android性能优化典范(二)
  7. [uwp开发]数据绑定那些事(2)
  8. 快餐店运行模拟C++程序源码代写
  9. 2016032101 - eclipse3.7+jdk1.6+maven3.0.5
  10. Swift -- SnapKit
  11. (萌O(∩_∩)O)哈希知识点小结
  12. jquery的动画函数animate()讲解一
  13. NOIWC2018游记
  14. Java 学习笔记 Junit4单元测试使用
  15. js的splice方法
  16. MySQL的GTID复制与传统复制的相互转换
  17. SAP 查询分析器,查询报表自动生成,SQL查询测试实现说明(转)
  18. Spring Boot笔记八:表单验证
  19. Http系列笔记
  20. FakeID签名漏洞分析及利用(二)

热门文章

  1. 2749: [HAOI2012]外星人
  2. Android序列化的存储和读取
  3. Android中关闭DatePicker、TimePicker、NumberPicker的可编辑模式
  4. codeforces 898F Hash
  5. sublime -text 删除已安装插件
  6. Laravel5.1学习笔记8 Blade模板
  7. 关于17个Cr的430采购的注意事项 430F
  8. Java关于反射的用法
  9. poj3009 Curling 2.0 深搜
  10. tp实现多语言支持测试