为了账号安全,请及时绑定邮箱和手机立即绑定

线程3,下载的数据块是6-10有争议啊

/**

* count 11  线程数=3

* block =  11 / 3; 那么block= 3 余2

* t1: 0-2

* t2: 3-5

* t3: 6-10 ? 这里有争议

* count是11啊,应该是6-11吧?

* 如果是6-10是正解那么 :

if (i== 2) {

end 应该= count-1; (end=10 ,因为count是11

//end = count 的话 就是6-11了

//那么到底是11还是10呢?

}

*/


正在回答

2 回答

个人理解:最后end=10或者end=count都是可以的。 10是你自己出来的结果,其实不用算直赋值为count就可以。 第三个线程6-10就可以下载完,6-11当然更可以下载完了(6-11包含6-10)

0 回复 有任何疑惑可以回复我~
#1

qq_冬瓜_4 提问者

那么我的理解是,第三个线程即便是设置为 end=1000; 也没有关系,对不对?因为end>10 ,randomAccessFile 读取文件 random.read(b)==-1 的时候没有数据了就停止了,也就是=10的时候就停止了读取,所以即便后面多设了990也不会影响到数据真实大小。此时线程已经结束,数据已经返回。end=count是简便的写法。
2015-12-02 回复 有任何疑惑可以回复我~
#2

qq_冬瓜_4 提问者

非常感谢!
2015-12-02 回复 有任何疑惑可以回复我~

从 0 开始

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android中的Http通信
  • 参与学习       64671    人
  • 解答问题       306    个

了解Android-http网络编程应用,常见忘了请求相关应用

进入课程

线程3,下载的数据块是6-10有争议啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信