我发现我的应用程序在主线程上等了很长时间,而堆栈如下:
semaphore_wait_trap ()
_dispatch_semaphore_wait_slow ()
GSSystemManagedStorageCopyAllGenerationsInfos ()
GSLibraryCopyAllGenerationsInfos ()
+[NSFileVersion(NSPrivate) _otherNonpurgeableVersionsOfItemAtURL:temporaryStorageIdentifier:] ()
__35-[NSDocument _doCleanupOldVersions]_block_invoke ()
__CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ ()
__CFRunLoopDoBlocks ()
__CFRunLoopRun ()
CFRunLoopRunSpecific ()
RunCurrentEventLoopInMode ()
ReceiveNextEventCommon ()
_BlockUntilNextEventMatchingListInModeWithFilter ()
_DPSNextEvent ()
-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
-[NSApplication run] ()
NSApplicationMain ()
其他线程似乎无所事事。
我有什么办法可以避免这种方法在主线程上等待吗?