C# async / await
2014-01-27 13:25
495 查看
1. await只能出现在async修饰的方法中
2.async不能修饰main函数
3.async修饰的方法,用普通方式调用时表现为异步执行,配合await时将变成同步执行
4. The return type of an async method must be void, Task or Task<T>
http://blogs.msdn.com/b/pfxteam/archive/2012/04/12/10293335.aspx http://msdn.microsoft.com/zh-cn/library/hh191443.aspx
2.async不能修饰main函数
3.async修饰的方法,用普通方式调用时表现为异步执行,配合await时将变成同步执行
4. The return type of an async method must be void, Task or Task<T>
http://blogs.msdn.com/b/pfxteam/archive/2012/04/12/10293335.aspx http://msdn.microsoft.com/zh-cn/library/hh191443.aspx
[TestMethod] public void AsyncWait() { System.Diagnostics.Debug.WriteLine("main threadid:" + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString()); var t=a(); //t.Wait(); System.Diagnostics.Debug.WriteLine("main after a"); } //private int a() //{ // //System.Threading.Thread.Sleep(1000 *20 ); // for(int i=0;i<20;i++) // System.Threading.Tasks.Task.Run( // ()=>{ // System.Diagnostics.Debug.WriteLine("i:" + i.ToString() + " a threadid:" + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString()); // } // ); // return 0; //} private async System.Threading.Tasks.Task<int> a() { //can't await anonymous function //await delegate(){ // return 1; //}; /*=>{ System.Threading.Thread.Sleep(1000 * 20); return 0; };*/ for (int i = 0; i < 20; i++) { //await System.Threading.Tasks.Task.Run( // () => // { // System.Diagnostics.Debug.WriteLine("i:" + i.ToString() + " a threadid:" + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString()); // } //); await System.Threading.Tasks.Task.Factory.StartNew( () => { System.Diagnostics.Debug.WriteLine("i:" + i.ToString() + " a threadid:" + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString()); } ); } return 0; }
相关文章推荐
- 使用Async和Await进行异步编程(C#版 适用于VS2015) z
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- C# Async与Await的使用
- C# Task中的Func, Action, Async与Await的使用
- C# Async, Await and using statements
- C# 中 async/await 调用传统 Begin/End 异步方法
- .NET(C#):await返回Task的async方法
- c#之Async、Await剖析
- 说说C#的async和await(转)
- C# Async/await 异步多线程编程
- C#基础系列——异步编程初探:async和await
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- 详解C#中的Async和Await用法
- C# async/await 使用总结
- c# async await
- [C#] 走进异步编程的世界 - 开始接触 async/await
- C# 异步编程4 async与await 异步程序开发
- c# 异步、重入、Async、Await
- C#的async和await
- 说说C#的async和await(转)