C#笔记:异步的简单实现 在.net4.5之后。为了让异步变的更人性化。引入了两个关键字 async 和await.将异步操作从一大堆 beginInvoke 和 endInvoke中解脱出来。步骤更加的简单。1、定义一个需要异步的操作,通常是很占时间的操作: private static Task<string> DoSomeThing(int second) { return Task.Run(() => { Thread.Sleep(second * 1000); return "延时了" + second + "秒"; }); }注意:返回值必须为Task2、定义一个异步函数,使用async标记,并在里面 await 需要异步的操作。private static async void DoAndCallBack(int second) { string result = await DoSomeThing(second); Console.WriteLine(result); Console.WriteLine("这次是真的完成了"); }在主线程调用 DoAndCallBack 时,await操作并不会阻塞主线程。而且,编译器会自动侦测await的上下文,将其视为异步操作完毕后需要调用的内容(即callback)。3、主函数中,只需要调用此异步函数,就能自动开始异步操作。 DoAndCallBack(3); Console.WriteLine("异步调用完毕,不必管它,继续做一些其它的事"); 大脸兔大脸兔长胡须。 来自 大脸猫 写于 2015-02-16 21:58 -- 更新于2020-10-19 13:06 -- 0 条评论