ios - dispatch_async_f 和 dispatch_async 有什么区别?

标签 ios objective-c grand-central-dispatch

有什么区别

dispatch_async_f

dispatch_async

在 iOS 中?

最佳答案

使用这个异步 block 的主要原因是有后台任务。

dispatch_async:

通过使用此 block ,您可以异步运行代码块

例如。

 dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
    //Background Thread
    dispatch_async(dispatch_get_main_queue(), ^(void){
        //Run UI Updates can be done only on main thread
    });
});  

dispatch_async_f:

无论异步任务中的 block 如何,您都可以将自定义函数放在后台执行。

例如:

void mainFunc(void) {} // your function
void callingFuncForAsyncTask(void*) { mainFunc(); } // new function which takes arguments for calling inside async_f

dispatch_async_f(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), 0, &callingFuncForAsyncTask);

更多信息和参数详情请引用: https://developer.apple.com/reference/dispatch/1452834-dispatch_async_f

关于ios - dispatch_async_f 和 dispatch_async 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38656809/

相关文章:

ios - NSURLSession 委托(delegate) didCompleteWithError 未调用

ios - 使用 SKLabel 文本裁剪 SKTexture

objective-c - 如何在ios中生成条形码图像

iOS线程: does this ensure the completion to be called from the main thread?

swift - 在 Swift 中的 Dispatch 闭包中修改结构实例变量

objective-c - 在 Objective-C 中生成 PDF

ios - 如何检查 iPad 是否为 iPad Pro

iphone - 允许一个 View 支持多个方向,而其他 View 则不支持 iPhone

ios - 使用 GCD 计时器间隔播放声音不符合预期

ios - iOS 应用程序的重命名只能在一个语言环境中完成吗?