怎样模拟多用户下载文件

zhaozhi815 2010-05-24 04:42:41
利用socket 多线程 模拟多用户从服务端同时下载。
比如Thread1 下载10%后 Thread2开始下载。。。。。
问题是当Thread1继续下载时,怎么可以继续写文件那。给点提示。
...全文
89 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
whut0802 2010-05-24
  • 打赏
  • 举报
回复
你的意思是说当Thread1下载了10%后,中断了,过断时间后(也就是得到了CPU的调度后又开始下载)?如果是这样的话,这就类似以个断点续下载的问题了。你可以为每个线程增加一个配置文件,这个配置文件记录该线程已经下载到了哪个字节了,当该线程再次开始下载的时候,线程根据配置文件里记录的位置向后下载就可以了。
  • 打赏
  • 举报
回复
建议楼主好好看下多线程 锁 的例子
liuzhengkang 2010-05-24
  • 打赏
  • 举报
回复
"问题是当Thread1继续下载时,怎么可以继续写文件那"?
多个线程写文件时,你在写资源上加个锁啊,这样才能保证不会发生死锁、脏数据。
像下面

Lock l = ...;
l.lock();
try {
// 写文件
} finally {
l.unlock();
}

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧