C#中异步编程4async与await异步程序开发的实例分析


本文摘自PHP中文网,作者黄舟,侵删。

随着C#异步程序开发系列的深入,你会发现编写异步程序越发简单。事物的发展就是这样的规律,从简单到复杂再到简单。

在C# 5.0中我们可以通过async与await关键字实现快捷的异步程序开发,如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

static void Main(string[] args)

{            var task = GetResultAsyc();

    Console.WriteLine(String.Format("Main 线程:{0}", Thread.CurrentThread.ManagedThreadId));           

    for (int i = 0; i < 100; i++)

    {

        Console.Write(".");

        Thread.Sleep(10);

    }

    Console.WriteLine();

    Console.WriteLine(String.Format("Main 线程:{0},获取异步执行结果:{1}", Thread.CurrentThread.ManagedThreadId, task.Result));

     

    Console.ReadLine();

}        private static async Task<int> GetResultAsyc()

{

    Console.WriteLine(String.Format("线程:{0}", Thread.CurrentThread.ManagedThreadId));           

    var result = await Task.Run(() => {

        Console.WriteLine(String.Format("Task 线程:{0}", Thread.CurrentThread.ManagedThreadId));

        Thread.Sleep(5000);                return 10;

    });            return result;

}

程序说明:

阅读剩余部分

相关阅读 >>

c#中string类型与json之间相互转换的实现方法

c#中关于async与await的使用详解

c#中委托和匿名委托的具体介绍

c#中值类型与引用类型的详细介绍

c#如何使用ilgenerator实现动态生成函数的实例

有关c#工厂模式简单讲解

c# 利用委托进行异步处理实例代码

c#中关于程序功能实现以及对代码选择的思考

c#中关于扩展方法的实例分析

c#连接oracle的实例教程

更多相关阅读请进入《csharp》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...