我想用socket进行文件传输,但是觉得单线程有点儿慢,于是想改用多线程下载。我的想法是这样的:将文件分块,建立多个socket,每个socket只发送文件的一块,在每个socket接收端,我用RandomAccessFile类找到文件偏移,然后写文件。
这样实现了以后,可以运行,并且每个socket都运行正常,但是测试发现,多线程的传输速度并不比单线程快多少。不知道是为什么?请问哪位高手知道?非常感谢。
另外,我不知道我的想法本身是不是有问题,如果哪位发现有问题或者您有好的想法,请多多指教,非常感谢。
这样实现了以后,可以运行,并且每个socket都运行正常,但是测试发现,多线程的传输速度并不比单线程快多少。不知道是为什么?请问哪位高手知道?非常感谢。
另外,我不知道我的想法本身是不是有问题,如果哪位发现有问题或者您有好的想法,请多多指教,非常感谢。
解决方案 »
- 关于获取网页源代码的问题!!
- 如何实现ASCII码存储?
- 将TOMCAT这些开源软件进行商业用途的传播,会不会涉及到有侵犯版权的问题
- 下面代码段不理解
- 关于serversocket的问题
- 初学java,想做一记事本,不知道怎么实现“打开”部分?求助!
- javax swing 如何用按钮添加/删除一个JPanel
- 通过PL/SQL查询数据库时,所有的中文全变成“靠”了??这是什么原因?
- 要在浏览器里生成web报表,看看大家的意见。
- 我是初学者,有几个问题,想请教各位高手,望不吝赐教
- java.sql.SQLException: No suitable driver
- 怎样监听JTextArea换行操作?或者在换行时执行方法?
上java线程不是真正的多线程,只是在虚拟机范围内新开的线程,对多处理器的
机子来说,实际上和单线程一样。我想这里也差不多的原因。呵呵,我也在试着
用java写多线程下载程序。