[Objective-C]在背景中运行的 C 函数Objective-C

发布时间: 2016/9/21 2:12:22
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要调用一个 C 函数 Objective-C 的应用程序。该函数包含无限循环。所以我需要在背景中运行此 C 函数。

这里是我的 C 函数︰

int go(){
    for(;;){
        //...
    }
    return 0;
}

和电话︰

[self performSelectorInBackground:go() withObject:nil];

函数 go() 称为但它不运行在后台 (和该应用程序停止工作......)。

解决方法 1:

即使在背景你可能应该运行在一个无限循环的东西。然而它是可能的。

[self performSelectorInBackground:<selector> withObject:<Object>];

这是一种非常方便的方法只是扔到后台线程的方法。但是,您还可以访问到会让你放入以及后台线程的代码块的盛大中央调度。你甚至可以给它专用队列,所以它不会阻止你背景队列。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
    // Your code
    go();
});
官方微信
官方QQ群
31647020