关于多线程分块传输文件的一个思路

在传输文件之前,我们可以计算出文件的总长度,同时,设置文件分块的最小长度(即每个文件块的长度),这样就可以计算出这个文件一共能够分多少块了,然后,将每块文件做一个标记(比如说A,B,C,D......)。将这些标记全部记录在一个固定的位置(数据库、文本文件等等)。在每一个文件块传输完毕以后,就将标记的这一块文件设置为已传输或者完成状态。这样多线程传输的过程中就不会存在几个线程重复传输同一个文件块的问题了。

问题:如何解决文件在不全部载入内存的情况下,就能计算出文件块的边界值(即区分出文件块)?



posted @ 2008-06-05 08:49  Lorn  阅读(1373)  评论(0编辑  收藏  举报