zoukankan      html  css  js  c++  java
  • C#异步Task编程模型实战手册

    一、课程介绍

    本次分享课程属于《C#高级编程实战技能开发宝典课程系列》中的第一部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享出来给大家进行学习,不断的收集、整理和完善此系列课程!

    本高级系列课程适合人群如下:

    1、有一定的NET开发基础并对多线程技术有一定了解和认识。

    2、喜欢阿笨的干货分享课程的童鞋们。

    希望大家在选择阿笨的 C#高级编程实战技能开发宝典课程系列的时候,根据自身的情况进行选择,由于本次课程不是零基础教学课程系列,所以说.NET基础差的到了没朋友的地步话,那阿笨建议您还是先“学”好NET的一些基础知识,然后在来C#跟着阿笨“玩”一起玩异步Task实战!

    如果您同样对本次分享《C#跟着阿笨玩一起玩异步Task实战》课程感兴趣的话,那么请跟着阿笨一起学习吧。

    废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

    二、概念名称含义解释

    2.1、多线程和异步两者的区别和联系?

    一、区别:

    1)、异步适用范围则是当需要执行I/O操作时。I/O操作包括了直接的文件、网络的读写,还包括数据库操作、Web Service、HttpRequest以及.net Remoting等跨进程的调用。

    2)、线程适用范围则是那种需要长时间CPU运算的场合,例如耗时较长的图形处理和算法执行。

    但是往往由于使用线程编程的简单和符合习惯,所以很多朋友往往会使用线程来执行耗时较长的I/O操作。

    二、联系:

    1)、多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。

    2)、异步的本质也是多线程。

    详细关于两者的区别和联系,推荐下面博客:

    《C#多线程与异步的区别》《如何正确运用异步编程技术》

    三、异步Task实战实例分享

    3.1)、C#使用异步Task实现查询等待Loading中效果。

    3.2)、C#使用Task实现多任务批量处理。

    3.3)、C#如何优雅的将同步方法转化为异步方法。

    3.4)、 C#如何以同步方式获取异步事件回调的结果。

                    1)、解决手段一: 通过 Task+AutoResetEvent机制实现异步阻塞获取异步事件回调的结果。

                    2)、解决手段二:通过 Task +CancellationTokenSource( 课后请自行思考)

    四、总结

    如果您想更加全面的学习一下关于阿笨使用异步Task技术在项目当中的实战技能,推荐大家可以学习一下阿笨早期之前分享的《C#实战技能之WebApi+Task+WebSocket》课程。俗话说的好:师父领进门修行在个人,希望大家在学习的道路上一直坚持下去!

    五、源码在线学习和演示

  • 相关阅读:
    51nod 1163 最高的奖励
    51nod 1191 消灭兔子
    51nod 2538 二三排列
    node做渲染服务器的实现
    gulp静态服务器的搭建
    canvas中裁切(橡皮檫)的应用--探照灯,点击去除遮罩
    canvas中图片、视频的加载(截图、切片)
    canvas中笔触基础知识
    Gitee的使用流程
    gulp的使用
  • 原文地址:https://www.cnblogs.com/51net/p/8150075.html
Copyright © 2011-2022 走看看