C# async / await

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

 

      [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;
        }

 

 

 

 

 

 

转载于:https://www.cnblogs.com/zyip/p/3534799.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值