有关多线程下载有关资料与总结

本文介绍了一种使用C#实现的多线程文件下载方法,通过将文件分割成多个部分并行下载来提高下载速度。文章详细展示了如何利用HttpWebRequest和HttpWebResponse类进行HTTP请求及响应处理,并提供了完整的代码示例。

 实例1 转自c# 多线程下载

 实例2 转自用C#实现HTTP协议下的多线程文件传输  

 

HTTP协议,HTTP亦即Hpyer Text Transfer Protocal的缩写,它是现代互联网上最重要的一种网络协议,超文本传输协议

位于TCP/IP协议的应用层,是一个面向无连接、简单、快速的C/S结构的协议。HTTP的工作过程大体上分连接、请求、响

应和断开连接四个步骤

 

HttpWebRequest类实现了很多通过HTTP访问WEB服务器上文件的高级功能。HttpWebRequest类对WebRequest中定义的属性和方法提供支持,HttpWebRequest将发送到Internet资源的公共HTTP标头的值公开为属性,由方法或系统设置,常用的由属性或方法设置的HTTP标头为:接受, 由Accept属性设置, 连接, 由Connection属性和KeepAlive属性设置, Content-Length, 由ContentLength属性设置, Content-Type, 由ContentType属性设置, 范围, 由AddRange方法设置. 实际使用中是将标头信息正确设置后,传递到WEB服务器,WEB服务器根据要求作出回应。

  HttpWebResponse类继承自WebResponse类,专门处理从WEB服务器返回的HTTP响应,这个类实现了很多方法,具有很多属性,可以全面处理接收到的互联网信息。在HttpWebResponse类中,对于大多数通用的HTTP标头字段,都有独立的属性与其对应,程序员可以通过这些属性方便的访问位于HTTP接收报文标头字段中的信息,本例中用到的HttpWebResponse类属性为:ContentLength 既接收内容的长度。

 

总结的代码

 

主线程

 

重点还要学习多线程的处理。流文件的处理也是个很有意思的地方

 

这里不可避免的遇到了个问题,线程同步。如_threadCompleteNum++,因为是多个线程同时并发执行,在此句之后可能会造成有两个或两个以上线程认为_threadCompleteNum == _threadNum 条件(=5)都成立,例如第五个线程刚执行完_threadCompleteNum++,而第四个线程刚执行到条件判断,则造成两个条件都成立,而执行两次Complete()合并文件的方法。

还有例如主线程被调用多次,就是Btn多次单击生成多个主线程,解决此方法使用了Lock语句。

转自使用C# lock同时访问期间共享数据

主线程的LOCK在外部声明静态变量 

private static object run = new object();

再在主线程的第一句加lock (run)

这样不会造成多个主线程同时访问生成的暂时文件资源造成冲突。

内容概要:本文系统介绍了标准化和软件知识产权的基础知识,涵盖标准化的基本概念、分类、标准代号、国际标准的采用原则及程度,重点讲解了信息技术标准化、ISOIEC等国际标准化组织以及ISO9000和ISO/IEC15504等重要标准体系;在知识产权部分,详细阐述了知识产权的定义、分类及特点,重点分析了计算机软件著作权的主体、客体、权利内容、行使方式、保护期限及侵权认定,同时涉及商业秘密的构成侵权形式、专利权的类型申请条件,以及企业如何综合运用著作权、专利、商标和商业秘密等方式保护软件知识产权。; 适合人群:从事软件开发、项目管理、IT标准化或知识产权相关工作的技术人员管理人员,以及备考相关资格考试的学习者;具备一定信息技术背景,希望系统掌握标准化软件知识产权基础知识的专业人员。; 使用场景及目标:①帮助理解各类标准的分类体系及国际标准采用方式,提升标准化实践能力;②指导企业在软件研发过程中有效保护知识产权,规避法律风险;③为软件著作权登记、专利申请、技术保密等提供理论依据和操作指引。; 阅读建议:建议结合国家相关政策法规和实际案例进行深入学习,重点关注软件著作权专利权的适用边界、标准制定流程及企业知识产权管理策略,强化理论实践的结合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值