我正在使用NSFileManager将大量文件从一个驱动器复制到另一个驱动器。
在某些情况下,我看到用户说“应用程序无法使用,它以0.33 MB / s的速度在USB2连接上传输。当我只是拖放时,我需要10分钟”
我在后台线程上运行它 - 这可能是问题吗?
secondaryTask=dispatch_queue_create( "com.myorg.myapp.task2",NULL);
dispatch_sync(secondaryTask,^{
NSFileManager *manager;
[manager copyItemAtPath:sourceFile toPath:filePath error:&error];
});
答案 0 :(得分:1)
这似乎与OS X实际限制我的应用程序有关。有些用户实际上在日志中看到了这一点:
5/9/16 15:26:31.000内核[0]:进程MyApp [937]线程36146抓住了刻录CPU!它在180秒内使用了超过50%的CPU(实际最近使用率:91%)。 thread lifetime cpu usage 90.726617秒,(49.587139 user,41.139478 system)分类帐info:balance:90006865992 credit:90006865992 debit:0 limit:90000000000(50%)period:自上次补充以来的180000000000时间(ns):98013987431
所以......这是一个GCD问题......我直接用Apple提出了这个问题。