Grand Central Dispatch中的线程数和线程数

时间:2010-03-16 16:13:33

标签: c parallel-processing grand-central-dispatch

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

1 个答案:

答案 0 :(得分:0)

  • 因为每个线程都有不同的runloop,你可以通过CFRunLoopGetCurrent()获得当前的runloop
  • 或者如果你正在使用AppKit [NSThread currentThread];
  • 在NSThread上你可以使用 - (NSMutableDictionary *)threadDictionary
  • 添加任何其他对象在同一个线程上的调用之间共享
  • 或者您可以使用pthread API man pthread