これは、アプリケーションのデバッグ中に観察したことです。私のアプリケーションは基本的にシングル スレッド アプリケーションです。
アプリケーションの最初のスレッドは 1 つだけです。
スレッド 1: キュー: com.apple.main-thread.
私のアプリケーションでは、次のコードがヒットすると
NSScreen * mainscreen = [NSScreen mainScreen];
その後、次のスレッドが作成されます。
- スレッド 3: キュー: com.apple.libdispatch-manager
- スレッド 5
- スレッド 6
- スレッド 7
スレッド 3 のコール スタックは kevent64 _dispatch_mgr_thread です
スレッド 5、6、7 の呼び出しスタックは __workq_kernreturn start_wqthread
[NSScreen mainScreen] にスレッド 3、5、6、7 が突然表示されるのはなぜですか?
アプリケーションをロードした後、ブレークすると、Thread 16 CVDisplayLink が表示されます。CVDisplayLinkとは?
デバッグには Mac OS X Mavericks Preview と Xcode 5 を使用しています。