0

私はCとGrandCentralDispatchを使用して、いくつかの重い計算を並列化しています。GCDで使用されているスレッドの数を取得するにはどうすればよいですか?また、コードの一部が現在どのスレッドで実行されているかを知ることは可能ですか?基本的に、複数のストリームでsprng(並列乱数)を使用したいので、そのために使用するストリームID(したがって、使用されているスレッド)を知る必要があります。

4

1 に答える 1

0
  • 各スレッドには異なる実行ループがあるため、CFRunLoopGetCurrent() によって現在の実行ループを取得できます。
  • または、AppKit [NSThread currentThread] を使用している場合。
  • NSThread では、 - (NSMutableDictionary *)threadDictionary を使用して、同じスレッド上の呼び出し間で共有する他のオブジェクトを追加できます
  • または、pthread API man pthread で作業できます
于 2010-05-12T15:50:25.933 に答える