编写该多线程下载程序遇到的问题
来源:互联网 发布:码工助手和疯狂美工 编辑:程序博客网 时间:2024/04/29 07:19
在写多线程下载程序的时候,也遇到了不少的问题,不过,有的解决了,有的没有解决,这里都附于下面,如果有愿意给答案的朋友,兄弟感激不尽:
1、请问如何用一个线程去监视已经在运行的线程是否已经结束?
状态:解决
]解决方式:本人
解决答案:
在主程序中定义一个全局静态的boolean数组,每启动一个线程就把该数组对应的值设为false,然后运行完后,就把线程对应的数组设为true.
另外设一个监视进程,循环检测当前数组中的所有值都为true,如果是那就表示所有启动的线程已经结束,就可以做后面的工作了,如文件的合并.
2、我欲网络文件在大上,利用HttpURLConnection,可是我按下面的顺利写却报"已经连接"错误:
urlc = (HttpURLConnection) url.openConnection();
TotalSize=Long.parseLong(urlc.getHeaderField("Content-Length"));
urlc.setRequestProperty("RANGE", "bytes="+fileSize+"-");
urlc.setRequestProperty("Accept","image/gif,image/x-xbitmap,application/msword,*/*");
但如果我这样就不会出错,换一下第一句的位置:
urlc = (HttpURLConnection) url.openConnection();
urlc.setRequestProperty("RANGE", "bytes="+fileSize+"-");
urlc.setRequestProperty("Accept","image/gif,image/x-xbitmap,application/msword,*/*");
TotalSize=Long.parseLong(urlc.getHeaderField("Content-Length"));
可是这样在断点续传的时候取得的总文件大小就只有现在需要时的大小,不能够满足程序的要求,因为我要计算文件是否已经下载完毕,于是我就把程序改成了这样,采用先断开再次连接,这样虽然可以达到要求,可是,这样先断开再次联接这势必造成资源的浪费,请问有什么好的方式?
urlc = (HttpURLConnection) url.openConnection();
urlc.disconnect();
urlc = (HttpURLConnection) url.openConnection();TotalSize=Long.parseLong(urlc.getHeaderField("Content-Length"));
urlc.setRequestProperty("RANGE", "bytes="+fileSize+"-");
urlc.setRequestProperty("Accept","image/gif,image/x-xbitmap,application/msword,*/*");
状态:未解决
3、将小数组的内容组合到大数组中,减少写硬盘的次数
写一个下载程序,可是,如果将希望减少写硬盘的次数,
有一个小的字节数组为1024,这样得到内容就去写硬盘,
都知道操作I/O是很费时间的,我这里想另个高一个大的字节数组,如果容量为50*1024,这样就可以明显的减少写硬盘的时间开销,可是这里如何更好的将小数组的内容合并到大数组中去呢,是每一次都循环吗,那如果我下载一个1024*1000即时的文件,那不是要循环:1024*1000次,这明显没有必要,请问有没有更简单的方法?
状态:未解决
如果有那位朋友愿意,本人非常感谢。
- 编写该多线程下载程序遇到的问题
- 编写JNI程序遇到的问题
- 编写相机程序时遇到的问题
- 编写安卓程序遇到的问题
- 关于编写android程序遇到的问题
- 一个网站下载程序遇到的问题
- 写程序,遇到比较难的问题了该咋办?
- javaMail编写发送邮件的程序,以及遇到的问题
- 用hibernate编写程序遇到的问题及解决方法
- 在绘图程序编写过程中遇到的问题~
- java编写程序遇到的各种乱码问题记录
- 用JCreator编写java程序时遇到的问题
- 用C#编写积分程序时遇到的问题
- 编写第一个XML-RPC程序遇到的问题总结
- java编写程序遇到的各种乱码问题记录
- 编写MapReduce程序访问HBase 遇到的问题与解决方法
- 编写51汇编中断程序遇到的问题
- 关于程序编写中遇到的细节问题
- 世界编程大赛第一名写的程序
- 神不知鬼不觉地置换WindowsXp用户密码
- 出師の表
- HTML Help Project (HHP) format—hhp文件格式
- Oracle exp/imp导出导入工具的使用
- 编写该多线程下载程序遇到的问题
- 1月16日 2007年的第一场雪
- 几首小诗
- 限制拷贝(绑定硬件)
- Linux下GNU开发环境的安装、sqlite-3.3.6的编译及调用sqlite数...
- F5公司的负载均衡解决方案
- 在DELPHI程序中使用ADO对象存取ODBC
- ultraedit 使用技巧
- js判断中英文字符串长度