2

これは、アプリケーションのデバッグ中に観察したことです。私のアプリケーションは基本的にシングル スレッド アプリケーションです。

アプリケーションの最初のスレッドは 1 つだけです。

スレッド 1: キュー: com.apple.main-thread.

私のアプリケーションでは、次のコードがヒットすると

 NSScreen * mainscreen = [NSScreen mainScreen];

その後、次のスレッドが作成されます。

  1. スレッド 3: キュー: com.apple.libdispatch-manager
  2. スレッド 5
  3. スレッド 6
  4. スレッド 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 を使用しています。

4

1 に答える 1