例如:
有一个1G的文件在服务器上;
采用了4个线程,分别下载 文件的4个部分;
大家谈谈 有必要 这样做吗?大文件 并发 分段 下载;
主要考虑下载效率问题;
看到有观点说 因为磁盘IO 的关系, 这样的效率反而不如 单线程写文件;
请问:
你们有什么观点 , 有些什么更好的方法?
1.多线程写东西必然涉及加锁。
2.磁盘IO现在一般一个核也能把写入负载跑满,多核实在无意义。
3.分段并发下载,迅雷这些就是喜欢这样玩,但是水管就那么大,合适就行。
######的确加锁了。传了个400M的文件上来; 可是 文件管理器 显示的文件大小却只有200多M;问题就在于 这个锁 该加在哪里?若同一时间内只有一个 线程写入,拿就是串行了; 我只做了在 ofstream open 的时候 加锁; 也就是多个线程 有 多个 ofstream 实例; 不知道错在哪里; 打印显示 上传的各个区块都没有应该没有问题;(在没有其他问题的情况下 才考虑这个问题)######临界区还行版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。