CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  网络及通讯开发

局域网有必要做多线程传输吗?????

楼主pango99(pango)2003-08-03 17:43:58 在 C++ Builder / 网络及通讯开发 提问

老板要我写个局域网用的文件传输程序(传输的文件都很大(>4G),且不只一个),他要作成和网络蚂蚁相似的多线程传输,但我认为在局域网内没必要做多线程传输,因为现在的局域网至少也是100M(其实很多都采用千兆网了),实际传输速率最少也有50M吧,可硬盘的传输速率就远低于这个数值了(7200RPM的硬盘好象只有30M-40M),这样硬盘读数据的速度远小于网络的传输速度,瓶颈是在硬盘这端,所以我认为无论是多线程还是单线程,他们的传输速度都是一样的。不知我的想法对不对,所以发了这个帖子,请大家帮我参考下,谢了!  
  问题点数:0、回复次数:17Top

1 楼warton(创业群13734424 http://www.anywhy.cn)回复于 2003-08-03 19:40:05 得分 0

硬盘的速率怎么会小于网络呢?  
  你的网卡是100Mbps/8=12M,好么你每秒最快也就传10M  
  ATA133应该是每秒传输113Mb/s,不是上面的mbpsTop

2 楼warton(创业群13734424 http://www.anywhy.cn)回复于 2003-08-03 19:40:40 得分 0

硬盘的速率怎么会小于网络呢?  
  你的网卡是100Mbps/8=12M,好么你每秒最快也就传10M  
  ATA133应该是每秒传输133Mb/s,不是上面的mbps  
  Top

3 楼Santos(快乐的GG)回复于 2003-08-03 23:39:18 得分 0

同意warton(Demonizing)    
   
  但,局域网内用多点续传确实有些小题大做   :)Top

4 楼pango99(pango)回复于 2003-08-04 17:30:26 得分 0

SORRY,我把硬盘和网络的传输单位搞错了,但是100M局域网已经很少采用了,我的软件的运行环境还是在千兆网,所以还是可以认为网络速率大于硬盘速率。Top

5 楼asimpleman(simple_man)回复于 2003-08-07 21:21:13 得分 0

gzTop

6 楼zihan(子寒)回复于 2003-08-07 22:51:29 得分 0

就算你用的是1千兆的网络,你的网络速度也不可能大于你的硬盘速度,因为网络是共享的,你不能够保证你的这个网络只有你一个传输.另外你做过测试没有,实际传输中,如果是通过集线器连接的,一般情况下的100兆的网速度不会超过2兆,如果用互联线可以达到5兆,那么就算一千兆,你去试试看最高速度有多高.  
   
  既然老板要你做,你还是作罢,何况网络传输用多线程肯定是好的.Top

7 楼Raptor(猛禽)回复于 2003-08-08 16:19:02 得分 0

网络传输用多线程真的好吗?  
   
  要跟蚂蚁比较是有前提条件的,多线程传输在互联网中的应用并不是可以无限提高传输速度,它只是把有限的带宽尽可能地利用起来,即如果用单线程在56KMODEM上只能传到4KB/s(32kbps),但如果用两个线程,可能就可以达到7KB/s(56Kbps),因为这种情况已经充分使用了带宽,再增加线程,除了浪费系统资源以外,并不能增加速度,可能反而会下降  
   
  第一、而在LAN里,大家是共享带宽,如果用多线程,相对来说,就等于把别人的带宽都占了  
  第二,在LAN里没有那些影响速度的因素,本来就能充分利用带宽,增加线程并没有意义  
  第三、也是最关键的,一般来说,LAN是用CSMA/CD(即以太网)技术,它的特点是随着连接的增加(即冲突概率增加),可利用带宽反而会下降(我以前实测过,100M网中用一个连接可以达到约80Mbps的实际速度,但当连接增加到9个时,只能达到50Mbps),即用多线程反而降低速度,与初衷完全是背道而驰。  
   
  又是一个瞎指挥的悲剧^_^Top

8 楼jiangchun_xn(GrayMemory)(再回头·灯火依旧·人不见·潸然泪下)回复于 2003-08-08 16:21:26 得分 0

同意楼上,  
   
  在网吧你就知道了,内部网络是独占得,你考别人东西爽了,别人开始擦拳头了Top

9 楼pcclever(质子)回复于 2003-08-08 16:32:12 得分 0

如果你的头儿是一个内行,你就跟他老人家解释       Raptor(猛禽)     的观点;如果他是个外行,那就按照他的指示,界面多线程(最好可调),具体的code嘛,呵呵,俺就不便直言啦......Top

10 楼mme(dog)回复于 2003-08-08 18:53:03 得分 0

to:   Raptor(猛禽)    
  100M网中用一个连接可以达到约80Mbps的实际速度,真的有这么快吗?  
  你是怎么试的,我也想试试看   ^_^  
   
  你每次发多大的包啊!   我怎么就不行呢?Top

11 楼Raptor(猛禽)回复于 2003-08-09 12:50:26 得分 0

楼上的,你试试COPY一个大文件,然后计算一下,如果同时没有别人在COPY的话,应该可以达到7,80MTop

12 楼Raptor(猛禽)回复于 2003-08-09 12:51:05 得分 0

注意:是bps,要换算成字节,先除以8Top

13 楼mme(dog)回复于 2003-08-09 16:28:34 得分 0

噢~~~兄弟说得果然不错~~~!   是真的...Top

14 楼mme(dog)回复于 2003-08-09 16:30:28 得分 0

不过是在局域网里面试的  
   
  我想那,如果我采用了多线程,在局域网外面用的话,可以抢人家的带宽,哈哈哈哈~~~~~~~``Top

15 楼asimpleman(simple_man)回复于 2004-03-08 23:16:41 得分 0

upTop

16 楼pp616(坏蛋)回复于 2004-03-09 02:52:04 得分 0

呵呵。老板要写你就写吧。写了有用没用是他的事。  
   
  写了代码和思路就是自己的。那别人的钱为自己做事和乐而不为??Top

17 楼cpmax()回复于 2004-03-10 13:29:30 得分 0

看客户的需要啦,不过多线的同步问题是很头痛的!  
  Top

相关问题

  • 局域网传输文件
  • 局域网文件传输
  • 多线程查找局域网文件的问题
  • 通过多线程扫描局域网内的所有机器怎么实现?
  • 通过多线程扫描局域网内的所有机器怎么实现?
  • VB.NET中如何使用多线程扫描局域网中的计算机???????
  • socket多线程传输文件 急用!
  • 局域网里文件传输问题!
  • winsock实现局域网文件传输!
  • 局域网内,点对点传输,如何传输文件夹?

关键词

  • b/s
  • 多线程
  • 局域网
  • 硬盘
  • 网络
  • 连接
  • 文件
  • 传输
  • 速度
  • 速率

得分解答快速导航

  • 帖主:pango99

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo