次のようなオブジェクト「チャンク」を持つ配列があります。
typedef enum
{
Connecting = 0,
Downloading,
Finished,
Error
} State;
@interface Chunk : NSObject
@property (atomic) uint64_t startingByte;
@property (atomic) uint64_t endingByte;
@property (atomic) NSString *md5;
@property (atomic) State *chunkState;
@end
ファイルへのリンク、そのサイズ、およびdownloadedBytesを保持するDownloadオブジェクトもあります。ダウンロードオブジェクトには、プロパティとして配列があります(チャンクを保持します)。
たとえば6つのスレッドでファイルをダウンロードするための最良の方法は何ですか?各スレッドは一度に1つのチャンクをダウンロードします(最後にそれらをマージするという考え)。gdcまたはある種のキューシステムを使用する必要がありますか?