栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > .Net

.NET Core异步编程

.Net 更新时间:发布时间: 百科书网 趣学号
什么是.NET Core异步编程

异步编程是基于云计算微服务架构中,人们不需要通过购买更多的电脑和服务器来加快应用程序执行速度,就可以实现多步操作。使用异步编程可以直接处理多个服务或计算核心上的组阻塞输入(I/O)操作和并发操作。

.NET三种异步编程:

  1. 异步编程模型(Asynchronous Programming Model)APM
  2. 基于事件的异步模型(Event-based Asynchronous Pattern)EAP
  3. 基于任务异步模型(Task-based Asynchronous Pattern)TAP

TAP异步编程优点

  1. 等待I/O请求返回的同时可通过生成处理更多的请求线程,处理更多的服务器请求。
  2. 等待I/O请求的同时生成UI交互线程,并通过将长时间运行的工作转换到其他CPU核心,让UI的响应速度更快。
  3. 许多较新的.NET APIs都是异步的。
  4. 在.NET中编写异步代码很简单。
如何使用TAP异步编程

例:根据输入的网站使用异步编程抓取网页,再显示页面大小。`

using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace ConsoleApp15
{
    class Program
    {
     static void Main(string[] args)
        {
            Console.WriteLine("请输入网络地址");
            string inputUrl = Console.ReadLine();
            CallBackMethod(inputUrl);
            Console.ReadKey();
        }
         static Task DownloadPage(string httpUrl)
        {
            return Task.Run(async () => {
                var client = new HttpClient();
                byte[] content = await client.GetByteArrayAsync(httpUrl);
                return content.Length;
            });            
        }
         async static void CallBackMethod(string url)
        {
            var result=await DownloadPage(url);
            Console.WriteLine("总共下载了{0}次{1}B",url,result);
        }
    }
}

运行效果

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/955611.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号