2

我正在使用[NSFileManager attributesOfItemAtPath:error:]函数来获取文件的属性。但有时我的应用程序 cpu 会达到 100%。我将此功能用于 100k(大约)个文件。
我的应用程序示例:

                                2128 -[NSFileManager attributesOfItemAtPath:error:]
                                  2128 +[NSFileAttributes _attributesAtPath:partialReturn:filterResourceFork:error:]
                                    2123 _attributesAtPath
                                      2072 listxattr
                                      29 realloc
                                        18 realloc
                                        11 szone_size
                                      22 _attributesAtPath
                                    5 _sysenter_trap  

谁能帮帮我?

4

2 回答 2

4

我正在使用stat.

#import <sys/stat.h>

struct stat stat1;
if( stat([inFilePath fileSystemRepresentation], &stat1) )
      // something is wrong 
long long size = stat1.st_size;
printf("Size: %lld\n", stat1.st_size);
于 2012-08-03T07:02:48.523 回答
1
  • SYSENTER是 的伴随指令SYSEXIT。陷阱是线程完整上下文的子集。因此,陷阱帧保留有关当前线程上下文的信息,因此它可以使用 SYSEXIT 指令恢复它。

关于Sysenter_traps的链接。

看来您正在超载主线程。这就是为什么cpu是100%

于 2012-05-14T09:39:43.800 回答