【问题标题】:Number of threads and thread numbers in Grand Central DispatchGrand Central Dispatch 中的线程数和线程数
【发布时间】:2010-03-16 16:13:32
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:
    • 由于每个线程都有不同的runloop,您可以通过CFRunLoopGetCurrent()获取当前的runloop
    • 或者如果您使用的是 AppKit [NSThread currentThread];
    • 在 NSThread 上,您可以使用 - (NSMutableDictionary *)threadDictionary 添加任何其他对象以在同一线程上的调用之间共享
    • 或者您可以使用 pthread API man pthread

    【讨论】:

    • 成功了吗?然后你可以添加一些关于你是如何做到的细节,并最终将问题标记为已回答。
    猜你喜欢
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 2011-07-28
    • 2018-10-06
    • 2012-05-09
    相关资源
    最近更新 更多