(一)dispatch方法
为了方便地使用GCD,苹果提供了一些方法方便将block放在主线程和后台线程执行,或者延后执行。使用的例子如下所示:
后台执行
dispatch_async(dispatch_get_global_queue(0,0)),^{
//do something
})
主线程执行
dispatch_async(dispatch_get_main_queue(),^{
//do something
});
一次性执行
static dispatch_once_t onceToken;
dispatch_once(&onceToken,^{
//code to be executed once
});
延迟2秒执行
double delayInSeconds = 2.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW,delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime,dispatch_get_main_queue(),^(void){
//code to be executed on the main queue after delay
});
本文深入探讨了GCD库中dispatch方法的应用,包括后台执行、主线程执行、一次性执行及延时执行。通过具体代码示例,详细解释了如何在iOS开发中利用这些方法实现高效并行任务处理。
7188

被折叠的 条评论
为什么被折叠?



