【发布时间】:2012-02-23 23:04:16
【问题描述】:
我有两个异步的 GCD 块。第一个用于后台线程,第二个在主线程上运行。这很好用,但我刚刚看到某处说我可能需要使用dispatch_release() 释放它们。例如:
// Use gcd
dispatch_queue_t queue = dispatch_queue_create("com.awesome", 0);
dispatch_queue_t main = dispatch_get_main_queue();
// do the long running work in bg async queue
// within that, call to update UI on main thread.
dispatch_async(queue, ^{
// Do work in the background
// Release
dispatch_release(queue);
dispatch_async(main, ^{
// Main
// Release
dispatch_release(main);
});//end
});//end
这是真的吗?我需要在这里释放它们吗?
【问题讨论】:
-
根据头文件中的 cmets,您需要在您创建的任何队列上调用 dispatch_release()。
标签: objective-c ios objective-c-blocks grand-central-dispatch