.NET中的async和await关键字使用及Task异步调用实例

其实早在.NET 4.5的时候M$就在.NET中引入了async和await关键字(VB为Async和Await)来简化异步调用的编程模式。我也早就体验过了,现在写一篇日志来记录一下顺便凑日志数量(以后面试之前可以用这个“复习”一下)。

(一)传统的异步调用

在比较“古老”的C#程序中经常可以看到IAsyncResult、BeginInvoke之类的异步调用“踪迹”。先来简单的复习一下吧。

假如我们有一个方法生成字符串,而生成这个字符串需要10秒中的时间:

public class WasteTimeObject

{

    public string GetSlowString(int begin, int length)

    {

        StringBuilder sb = new StringBuilder();

        for (int i = begin; i < begin + length; i++)

        {

            sb.Append(WasteTime(i) + " ");

        }

        return sb.ToString();

    }

    private string WasteTime(int current)

    {

        System.Threading.Thread.Sleep(1000);

        return current.ToString();

    }

}

以上是 .NET中的async和await关键字使用及Task异步调用实例 的全部内容, 来源链接: utcz.com/z/334509.html

回到顶部