中国开发网: 论坛: 程序员情感CBD: 贴子 66210
王中王
讨论一个多线程下载的问题
对一个文件进行多线程下载时(任务下载方式,比如Http、BT),涉及到文件写入问题。
通常会有两种方式,一种是预先根据文件大小创建一个文件,然后各个线程写入,这种方式简单、高效,不讨论。
另一种方式是事先不分配文件空间,而是下载多少写入多少。这时有个问题,因为文件流写入是不支持插入操作的,要想在一个文件的中间插入数据,只能先把后面的移走保存起来,写入新数据后再把保存的数据写到文件尾,问题是当一个很大的文件多线程同时下载时,这种每次都需要移动后面数据的“插入”操作次数很多,肯定对性能造成影响,所以我想,一些下载工具不是用的这种方法吧?还有什么好的方法呢?(下载过程中,后续下载的数据肯定是以正确的顺序插入到文件中的)
http://wangzw.wordpress.com/
个性化台历、日历制作
http://shop33697570.taobao.com/

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录