一、课程介绍
本次分享课程属于《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)、异步的本质也是多线程。
详细关于两者的区别和联系,推荐下面博客:
三、异步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》课程。俗话说的好:师父领进门修行在个人,希望大家在学习的道路上一直坚持下去!
五、源码在线学习和演示
原文地址:https://www.cnblogs.com/51net/p/8150075.html