这是我在调试应用程序时观察到的。我的应用程序本质上是一个单线程应用程序。
应用程序最初只有一个帖子。
线程1:队列:com.apple.main-thread。
在我的应用程序中,当遇到以下代码时
NSScreen * mainscreen = [NSScreen mainScreen];
然后创建跟随线程。
线程3的调用堆栈是 kevent64 _dispatch_mgr_thread
线程5,6和7的调用堆栈是 __workq_kernreturn start_wqthread
为什么线程3,5,6和7突然出现在[NSScreen主屏幕]上?
加载应用程序后,当我打破它时,它会显示一个Thread 16 CVDisplayLink。什么是CVDisplayLink?
我正在使用Mac OS X Mavericks Preview和Xcode 5进行调试。
答案 0 :(得分:2)
核心视频显示链接提供单独的高优先级线程 当给定显示器需要每个帧时通知您的应用程序。您 可以使用显示链接轻松地与刷新率同步 一个显示器。显示链接API使用Core Foundation类系统 内部提供引用计数行为和其他有用的 属性。