0

我正在使用 C 和 Grand Central Dispatch 来并行化一些繁重的计算。如何获取 GCD 使用的线程数?还有可能知道一段代码当前在哪个线程上运行吗?基本上我想对多个流使用sprng(并行随机数),为此我需要知道要使用的流ID(以及正在使用的线程)。

4

1 回答 1

0
  • 由于每个线程都有不同的运行循环,您可以通过 CFRunLoopGetCurrent() 获取当前运行循环
  • 或者如果您使用的是 AppKit [NSThread currentThread];
  • 在 NSThread 上,您可以使用 - (NSMutableDictionary *)threadDictionary 添加任何其他对象以在同一线程上的调用之间共享
  • 或者您可以使用 pthread API man pthread
于 2010-05-12T15:50:25.933 回答