Asycn/Await 异步编程初窥(二)_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Asycn/Await 异步编程初窥(二)

Asycn/Await 异步编程初窥(二)

 2013/10/18 3:21:30  Cinlap Soft  博客园  我要评论(0)
  • 摘要:经过总过4天的学习和实践,做完了WinForm下.Net4.5的基本异步应用,实现了一个Http协议下载的测试程序,为以后使用.Net4.5积累知识和经验。这个小程序完成这样几个作用:1.实现Http协议下的下载,包括网页、文件2.使用async/await的方式,实现异步方式,UI不停滞3.使用多线程方式更新下载进度成功,后改为不依靠线程,采用事件方式在UI窗体更新下载进度4.在未做全方面优化的前提下,运行速度蛮好5.通过下载进度信息
  • 标签:编程 异步

经过总过4天的学习和实践,做完了 WinForm 下 .Net 4.5 的基本异步应用,实现了一个 Http 协议下载的测试程序,为以后使用 .Net 4.5 积累知识和经验。这个小程序完成这样几个作用:

 

1. 实现 Http 协议下的下载,包括网页、文件

2. 使用 async/await 的方式,实现异步方式,UI 不停滞

3. 使用多线程方式更新下载进度成功,后改为不依靠线程,采用事件方式在 UI 窗体更新下载进度

4. 在未做全方面优化的前提下,运行速度蛮好

5. 通过下载进度信息,可以掌握有关下载中的部分过程

 

同样也有未解决的问题需要向看到此文的各位网友请教,希望能得到高手解答:

1. 以事件作为“驱动”方式来更新 UI 的方式靠不靠谱,有什么弊端?

2. 增大或减小 buffer 似乎对下载速度没有什么影响(提高),怎么做可以提高程序本身的下载速度?(假设网络条件固定,单线程条件固定,实现下载软件那种递增式变化,framework自身有没有什么可调节的方法参数)

3. 通过程序运行发现,绝大多数单次从 stream.ReadAsync 读取到的网络数据,长度基本固定,以 3472 居多(尤其是长时间的下载大一点文件)。这个数字代表什么意义

4. 请对我的程序提出你的建议和意见,可以是任何方面的,尤其是结构方面,谢谢!

 

程序App及代码 App下载 代码下载

程序截图

发表评论
用户名: 匿名