当前位置: 技术问答>linux和unix
想写个FTP多线程下载工具但有几个实现细节问题
来源: 互联网 发布时间:2016-02-28
本文导语: 小弟准备写个linux下的多线程下载工具但不知道如何实现有几个疑问: 多线程下载是创建多个线程然后每个线程分别创建自己的SOCKET连接到服务器中下载相应的文件段 还是 多个线程使用同一个连接分别下载相应...
小弟准备写个linux下的多线程下载工具但不知道如何实现有几个疑问:
多线程下载是创建多个线程然后每个线程分别创建自己的SOCKET连接到服务器中下载相应的文件段
还是
多个线程使用同一个连接分别下载相应文件段?
还有
文件写入的时候是各个线程自己写入文件中 还是通过统一的一个线程写入?哪个效率高?
多线程下载是创建多个线程然后每个线程分别创建自己的SOCKET连接到服务器中下载相应的文件段
还是
多个线程使用同一个连接分别下载相应文件段?
还有
文件写入的时候是各个线程自己写入文件中 还是通过统一的一个线程写入?哪个效率高?
|
使用多线程连接服务器,单线程写入文件,缓存数据,到达一定数目再交给写文件线程
|
使用多线程连接服务器
==========================
是指创建多个线程然后分别connect到服务器再用帐号登入?
对,就是这样
==========================
是指创建多个线程然后分别connect到服务器再用帐号登入?
对,就是这样
|
>>多线程下载是创建多个线程然后每个线程分别创建自己的SOCKET连接到服务器中下载相应的文件段
>>还是
>> 多个线程使用同一个连接分别下载相应文件段?
多线程下载是创建多个线程然后每个线程分别创建自己的SOCKET连接到服务器中下载相应的文件段
>>文件写入的时候是各个线程自己写入文件中 还是通过统一的一个线程写入?哪个效率高?
通过统一的一个线程写入,效率方面区别不大,主要是这种不存在多线程同时写文件的问题,结构简单,便于实现与维护。
建议:
主线程:处理界面,控制
N个线程:用于下载
文件线程:用于下载文件
>>还是
>> 多个线程使用同一个连接分别下载相应文件段?
多线程下载是创建多个线程然后每个线程分别创建自己的SOCKET连接到服务器中下载相应的文件段
>>文件写入的时候是各个线程自己写入文件中 还是通过统一的一个线程写入?哪个效率高?
通过统一的一个线程写入,效率方面区别不大,主要是这种不存在多线程同时写文件的问题,结构简单,便于实现与维护。
建议:
主线程:处理界面,控制
N个线程:用于下载
文件线程:用于下载文件
|
多线程连接和下载,当线程写入文件。