打开多个文件的大中央战略
我有一个使用Grand Central调度队列的工作实现:(1)打开文件并在“queue1”上计算OpenSSL DSA哈希,(2)将哈希写出到新的“side car”文件,以便稍后验证“queue2” 。
我想同时打开多个文件,但是基于一些不会通过打开100个文件并超过硬盘驱动器可持续输出而“阻塞”操作系统的逻辑。照片浏览应用程序(如iPhoto或Aperture)似乎打开多个文件并显示它们,所以我假设可以这样做。
我假设最大的限制是磁盘I / O,因为应用程序可以(理论上)同时读写多个文件。
有什么建议?
TIA
没有找到相关结果
已邀请:
5 个回复
膝垫富顷
和:
在哪里开始:
您需要确定如何最好地处理排队。如果有很多项目并且有取消的概念,那么将所有内容排入队列可能会造成浪费。同样,您可能希望将URL排入要处理的文件,而不是像上面那样的NSData对象。 无论如何,上述情况将同时处理三件事,无论有多少人入队。
澳绍能
这很简单;而不是处理与
API相同的多重嵌套的同步/异步层,NSOperation允许您独立定义工作单元和它们之间的依赖关系。在某些情况下,这可以更容易理解和调试。
掀辟髓观粟
如果sidecar文件很小,您可能希望将它们收集在内存中并分批写出来以最大限度地减少处理中断。 文件系统(至少HFS)按顺序存储文件在目录中的文件记录,因此遍历文件系统广度优先(即,在进入子目录之前处理目录中的每个文件)。 当然,以上只是建议。您需要尝试并测量性能以确认实际影响。
珊畴炮贩号
仇聘发栖