多线程下载:1.多线程2 下载 这些也是android软件多线程下载的原理 通用
思路:要多线程下载,就要知道这个文件有多大,准备用几个线程来下载。
1, 得到文件的大小:
String imgPathString = "http://dl1.g-fox.cn/chinaedition/releases/zh-CN/FirefoxChinaEdition-latest.exe";
URL url = new URL(imgPathString);
int size = getDateSize(imgPathString);//得到文件的大小
2,设定有3个线程 那计算每个线程下载多少
int threadSize =3;//线程数量:3
int block = size / threadSize +1;//每个线程下载的数据的大小
3.新建一个和要下载的文件一样大小的文件 用来保存被下载的文件
File file = new File ("huohu.exe");
RandomAccessFile rfile = new RandomAccessFile(file,"rw");
rfile.setLength(size);
rfile.close();
4.开始下载
for(int i = 0 ;i<threadSize;i++)
{
int startPosition = i*block;//从什么位置开始写
RandomAccessFile threadfile = new RandomAccessFile(file,"rw");
threadfile.seek(startPosition);
new DownLoadThread(url, startPosition, threadfile, block).start();
}
思路就是这样, 详细代码见源码。
分享到:
相关推荐
断点续传和多线程下载模块断点续传和多线程下载模块断点续传和多线程下载模块断点续传和多线程下载模块断点续传和多线程下载模块断点续传和多线程下载模块断点续传和多线程下载模块断点续传和多线程下载模块断点续传...
本资料“vc++多线程编程_附源码”旨在深入讲解Windows环境下如何使用VC++进行多线程的开发,包括线程的创建、管理以及线程间的同步和通信。 1. **线程的创建**:在VC++中,可以通过调用`CreateThread`函数或者使用...
Qt线程间共享数据主要有两种方式: 1)使用共享内存。即使用一个两个线程都能够共享的变量(如全局变量),这样两个线程都能够访问和修改该变量,从而达到共享数据的目的。 2)使用singal/slot机制,把数据从一个...
本项目“C# 多线程 打字游戏 附源码”是一个非常适合初学者实践的实例,通过它,你可以深入理解多线程如何应用于游戏开发。 打字游戏通常涉及到两个主要部分:用户输入和游戏逻辑。在这个项目中,多线程技术可能被...
总之,这个"java多线程聊天室附源码"项目展示了如何使用Java的多线程和网络编程技术来构建一个实时的、可扩展的聊天应用。开发者可以通过阅读和分析源代码来学习如何在实际场景中应用这些技术。
在给定的标签“源码”和“工具”中,我们可以推断这篇博客可能详细介绍了如何使用特定编程语言实现多线程下载,或者探讨了一些现有的多线程下载工具的使用方法。遗憾的是,由于没有具体的博客内容,我们无法提供更...
在多线程环境下,有时候我们需要对线程进行控制,比如暂停或恢复某个线程的执行,以便进行调试、同步或其他操作。标题提到的“暂停线程工具”就是这样一个实用程序,它提供了暂停和恢复线程的功能,并且附带了源代码...
"Win32多线程程序设计附书源码"是一个宝贵的资源,它包含了一本关于如何在Windows环境下编写多线程程序的经典书籍的源代码。这本书通过实例深入浅出地解释了多线程编程的核心概念和技术,帮助开发者理解和掌握这一...
对于新手而言,附带的源码是一个宝贵的参考资料,它展示了如何在实际项目中应用多线程。通过阅读和理解代码,可以学习到如何创建和启动线程,以及如何在不同线程间传递数据。同时,查看线程同步和互斥锁(如`Mutex`...
多线程与并发处理是程序设计好坏优劣的重要课题,本书通过浅显易懂的文字与实例来介绍Java线程相关的设计模式概念,并且通过实际的Java程序范例和 UML图示来一一解说,书中在代码的重要部分加上标注使读者更加容易...
学习这本书和其随附的源码,你将能够掌握创建和管理Win32多线程程序的技能,提升你的软件开发能力,尤其是对于那些需要处理复杂并发场景的应用,如服务器端程序、实时系统或者高并发用户界面的开发。通过深入学习,...
总之,"Delphi 网络视频下载程序附源码"是一个涵盖 Delphi 网络编程、文件操作、多线程、用户界面设计等多个方面的实践项目,对于提升 Delphi 开发者的综合能力具有很大的帮助。通过分析和研究提供的源代码,开发者...
支持多个下载任务,分块多线程下载,断点续传。 详细介绍请查看先前版本。 (好像也没多少) 【升级说明】 1、增加了对未知大小文件下载的支持 2、增加了登录用户信息的支持 3、增加了FTP下载的支持 …… 其他(忘...
在本文中,我们将深入探讨如何使用C# WinForm来实现文件的上传与下载功能。...在实际项目中,这样的功能通常会更加复杂,包括多线程、断点续传、进度条显示等高级特性,但对于初学者来说,这是一个很好的起点。
- Java提供了丰富的线程API,使得开发者能够轻松地创建多线程应用。 #### 2. **线程的安全性** - **线程安全性**:指的是在多线程环境中,多个线程访问共享资源时不会引发数据不一致的问题。 - **非线程安全**:...
- `端口线程扫描程序(附源码BCB5).cpp/h`:这些是程序的主要源文件,包含了实现多线程端口扫描的代码。分析源码可以深入了解线程的创建、管理和通信机制,以及如何利用Borland C++的API进行网络编程。 5. **线程...
Introduction 2 多线程程序的评量标准 第1章 Single Threaded Execution——能通过这座桥的,只有一个人 第2章 Immutable——想破坏它也没办法 第3章 Guarded Suspension——要等到我准备好喔 第4章 Balking——不...
主要内容如下五点: 1.Java语言 2.多线程 3.Java多线程 ...此课题研究思路是从基础概念到实现原理,先了解Java语言特点,再了解多线程,从 Java多线程出发进而研究教学演示系统的设计。研究方法如下
在IT行业中,源码是软件开发的核心组成部分,它是一系列编程指令,构成了应用程序的...但同时也需要开发者具备多方面的技术知识和实践经验,才能充分利用并完善这套源码,打造出用户体验优秀且功能丰富的影视服务平台。
资源中包含的“附全套毕业设计(含论文,源码,任务书,开题,中期,外文翻译和答辩稿).rar”可能包含了这个项目的所有细节,包括设计文档、源代码实现、测试报告等,对于学习和研究C#多线程和断点续传的开发者来说...