csharp 异步/ AWAIT

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 异步/ AWAIT相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Threading;
using System.Threading.Tasks;

namespace TestApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("-------Start-------");
            Task<int> task = GetLengthAsync();
            Console.WriteLine("Main is doing other things");
            Console.WriteLine("Task return: " + task.Result);
            Console.WriteLine("-------over-------");
            Console.ReadLine();
        }

        static async Task<int> GetLengthAsync()
        {
            Console.WriteLine("GetLengthAsync Start");
            string str = await GetStringAsync();
            Console.WriteLine("GetLengthAsync End");
            return str.Length;
        }

        static Task<string> GetStringAsync()
        {
            return Task<string>.Run(() => { Thread.Sleep(2000); return "finished"; });
        }
    }
}

以上是关于csharp 异步/ AWAIT的主要内容,如果未能解决你的问题,请参考以下文章

kotlin的suspend对比csharp的async&await

async/await成对匹配,不是一个死循环吗

csharp async / awaitの例

csharp Asynch&Await(简单).cs

visA异步锁怎么使用

csharp C#5.0 async / awaitでの主要メソッドの书き方