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#中匿名对象与var以及动态类型 dynamic的详解

c#开发微信门户及应用(一)之微信接口的如何使用(图)

c#关于验证身份证号码的实例分析(正确性)

详解可选参数和命名参数实例

c#之fastsocket实战项目的示例分享

c#简单工厂模式是什么?

c# 中十进制与二进制、十六进制、八进制转换详解

c#使用free spire.presentation实现对ppt插入与编辑以及删除表格

c#中匿名委托以及lambda表达式的实例详解

c#实现添加word文本与图片超链接的方法

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




打赏

取消

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

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

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

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

评论

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