首页 > 其他 > 详细

异步编程

时间:2020-11-06 18:43:05      阅读:24      评论:0      收藏:0      [点我收藏+]

先实现一个简单的异步方法:
asyncRsult方法模拟一些异步操作;
执行到Task.run的时候会返回一个调用者;
在主方法中创建一个等待接受任务结果的对象;

用对象的OnCompleted方法内委托执行获取结果;
当然,这不是最简单的方法
最简单的方法是用关键字async,await
稍后陈述
finished;

    class Program
    {
        static void Main(string[] args)
        {
            var awaiter = asyncResult().GetAwaiter();
            //下面是委托的回调
            awaiter.OnCompleted(
                () =>
                {
                    Console.WriteLine((Int32)awaiter.GetResult());
                }
                );
            Console.WriteLine("sync");
        }
        static Task<int> asyncResult()
        {
            //模拟Io-Bound or Compute-Bound操作
            Thread.Sleep(2000);
            return Task.Run(() => { return 250; }) ;
        }
    }

异步编程

原文:https://www.cnblogs.com/liflower/p/13938173.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!