我正在尝试优化一段代码,该代码从硬盘驱动器加载大量图像并对其进行一些计算。我第一次尝试加快速度是为每个图像创建一个NSOperationQueue
单独的加载和计算。NSOperations
不幸的是,这并没有真正缩短所用时间。
一个原因可能是创建NSOperations
并将它们添加到queue
. 另一个可能的原因是硬盘驱动器不是为多线程工作而设计的,因此磁盘的标题需要在扇区之间来回跳转,而不是逐个读取文件。
所以我的问题是,是否有任何方法可以原子地运行obj-C或C代码,这样当一个人NSOperation
读取一个文件时,它不会受到试图读取另一个文件的某些操作的干扰,但仍然所有人都NSOperations
可以对他们的图像进行计算?