CPU与attributesOfItemAtPath提出:错误:(CPU raises with a

2019-06-24 09:42发布

我使用[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  

任何人都可以请帮我吗?

Answer 1:

我使用的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);


Answer 2:

  • SYSENTER是一个同伴指令SYSEXIT 。 陷阱是一个线程的上下文完全的子集。 因此,陷阱帧保存有关当前线程的上下文信息,因此它可以与SYSEXIT指令恢复。

链接关于Sysenter_traps 。

看来,你超载你的主线程。 这就是为什么CPU正在以100%



文章来源: CPU raises with attributesOfItemAtPath:error: