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#中关于infinity与nan的简单介绍

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

c#如何实现自动更新本地程序的实例分析

c#中的正则表达式如何验证中文字符的实例

c#中如何使用sendmessage?

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

介绍c#中的堆和栈

c#中enum与string的相互转换的示例

c#开发微信门户及应用(三)之文本消息和图文消息应答

c#中方向键与回车键切换控件焦点的两种方法

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




打赏

取消

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

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

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

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

评论

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