<iOS>系统提供的dispatch方法

来源:互联网 发布:阿里卖家版是什么软件 编辑:程序博客网 时间:2024/05/17 08:19

(一)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

});

0 0
原创粉丝点击