全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C#多线程程序下载之思路整理相信大家都有用过网际快车等下载资源的经历,它里面是可以设置线程数的(近年版本默认是10,曾经默认是5)。它会将文件分成与线程数相同的部分,然后每个线程下载自己的那一部分,这样下载效率就有可能提高。相信大家都有加多线程数,提升下载效率的经历。但细心的用户会发现,在带宽一定的情况下,并不是线程越多,速度越快,而是在某一点达到峰值。在C#中用多线程并不难实现。它有一个命名空间:System.Threading,提供了多线程的支持。要开启一个新线程,须要以下的初始化: ThreadStart startDownload = new ThreadStart( DownLoad ); /线程起始设置:即每个线程都执行DownLoad(),注意:DownLoad()必须为不带有参数的方法 Thread downloadThread = new Thread( startDownload ); /实例化要开启的新类 downloadThread.Start();/开启线程 由于线程起始时启动的方法不能带有参数,这就为多线程共享资源添加了麻烦。不过我们可以用类级变量(当然也可以使用其它方法,笔者以为此方法最简单易用)来解决这个问题。知道开启多线程下载的方法后,大家可能会发生几个疑问:1.如何操纵线程的数量?2.如何防止多线程下载同一网页?3.如何判断线程结束?4.如何操纵线程结束? 下面就这几个问题提出解决方法:1.线程数量我们可以通过for循环来实现,就如同当年初学编程的打点程序一样。譬如已知用户指定了n(它是一个int型变量)个线程吧,可以用如下方法开启五个线程。 Thread downloadThread; /声名下载线程,这是C#的优势,即数组初始化时,不需要指定其长度,可以在使用时才指定。 这个声名应为类级,这样也就为其它方法控件它们提供了可能 ThreadStart startDownload = new ThreadStart( DownLoad ); /线程起始设置:即每个线程都执行DownLoad() downloadThread = new Thread n ;/为线程申请资源,确定线程总数 for( int i = 0; i N ) /要是已经尝试够了次数,则退出进程downloadThreadi.Abort; /退出进程 else/如果没有尝试够次数Times = 0; /尝试次数归零处理/进行下一步针对得到的Url的处理 4.这个问题相对简单,因为在问题一中已经提议,将线程声名为类级数组,这样就很易于操纵。只要用一个for循环即可结束。代码如下: for( int i = 0; i n; i+ )/关闭指定数量n的线程数downloadTh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年锦州辅警招聘考试真题及答案详解(各地真题)
- 2025年濮阳辅警协警招聘考试真题含答案详解(模拟题)
- 2025年淄博辅警招聘考试真题及答案详解(各地真题)
- 2025年马鞍山辅警协警招聘考试备考题库附答案详解(精练)
- 2025年苗栗县辅警招聘考试真题参考答案详解
- 2025(医学)护理三基考试题库及答案
- 2025年绍兴辅警协警招聘考试真题附答案详解(能力提升)
- 2025年鸡西辅警协警招聘考试真题及1套完整答案详解
- 2025年湛江辅警招聘考试真题含答案详解ab卷
- 2025年淮安辅警招聘考试真题附答案详解(典型题)
- 化疗后骨髓抑制个案护理
- 市区市政维护方案
- 2025-2030中国中医馆行业发展分析及投资风险与战略研究报告
- 菜地大棚规划方案(3篇)
- 入团考试试题及答案
- 化工装置开停车安全培训
- 北京税务局股权转让协议
- 微丸制剂开发-洞察及研究
- 保险合规法律培训课件
- 煤气安全试题及答案
- 母婴同室新生儿管理
评论
0/150
提交评论