如何使用Grand Central Dispatch启动一个异步调用?

Nek*_*ios 5 cocoa objective-c grand-central-dispatch

我希望有一个异步调用,相当于:

doThisInASecondThreadThenHaveThisThreadDisappear:@selector(myMethod);

什么是Grand Central Dispatch要求完成此任务?我是新手,我迷失了所有排队的复杂东西.我理解可以通过它实现的事情,但对于这个简单的情况(我目前关心的),我只是迷失了

hwa*_*xer 5

dispatch_queue_t queue = dispatch_queue_create("queueName", NULL);
dispatch_async(queue, ^(void) {
    // code to execute here
});
dispatch_release(queue);
Run Code Online (Sandbox Code Playgroud)

或者如果您需要使用主线程:

dispatch_async(dispatch_get_main_queue(), ^(void) {
        // code to execute here
});
Run Code Online (Sandbox Code Playgroud)

  • 您还可以使用`dispatch_get_global_queue`来获取其中一个全局并发队列,而不是创建队列.这可能是首选,因为您不必进行任何内存管理. (3认同)