码迷,mamicode.com
首页 > 其他好文 > 详细

异步编程(三)

时间:2017-09-02 16:49:23      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:oop   new   开启   阻塞   int   http   public   任务   方法   

4. c#4.x Task的新特性 Async && Await

这种编程方式是对之前Task的补充和扩展,简化了异步编程,让喜欢用同步编程的同学,使用起来更顺手:

static void Main()
        {
            Console.WriteLine("Main Thread begin Thread ID:{0}",Thread.CurrentThread.ManagedThreadId);
            Program prgo = new Program();
            prgo.DoSomething(3);
            Console.WriteLine("Main Thread Lasting Thread ID:{0}", Thread.CurrentThread.ManagedThreadId);
            Console.Read();
        }

        public async void DoSomething(int id)//这里开启一个异步方法, Async 标志
        {
            await LoopingAjob(id);
           // await Task.Run(() => { Console.WriteLine("A task awit test {0}",id); });
        }
        public  Task LoopingAjob(int id)//这里是一个执行的任务
        {
            return Task.Run(()=> {
                Thread.Sleep(1000);
                Console.WriteLine("Task {0} run-> Thread ID:{1}",id,Thread.CurrentThread.ManagedThreadId);
            });   
        }


技术分享


Await 表示等待,等待异步的完成,并在当刻阻塞线程,直到异步的完成; await可以标记任务 和异步方法

await Task.Run(() => { Console.WriteLine("A task awit test {0}",id); });

异步编程(三)

标签:oop   new   开启   阻塞   int   http   public   任务   方法   

原文地址:http://www.cnblogs.com/yeshuimaowei/p/7466754.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!