浅谈GCD

来源:互联网 发布:淘宝卖stussy的正品店 编辑:程序博客网 时间:2024/04/19 09:21

GCD是苹果公司卡开发的一个多核编程的解决方案,gcd和其它的多线程技术方案相比,使用起来更加简单和方便。

//后台执行的代码dispatch_async(dispatch_get_global_queue(0, 0), ^{        });    

dispatch_get_global_queue会开启一个全局队列,我们姑且理解为,系统为我们开启的全局线程。

//主线程执行

dispatch_async(dispatch_get_main_queue(), ^{       //主线程执行    });

//一次性执行

static dispatch_once_t onceToken;    dispatch_once(&onceToken, ^{       //在这里只能执行一次;    });

//延迟两秒执行

double delayInSeconds=2.0;dispatch_time_t popTime=dispatch_time(DISPATCH_TIME_NOW, delayInSeconds*NSEC_PER_SEC);    dispatch_after(popTime, dispatch_get_main_queue(), ^{    });

//GCD也有一些高级的用法

dispatch_queue_t urls_queue=dispatch_queue_create("myDispatch", NULL);    dispatch_async(urls_queue, ^{    });
1 0
原创粉丝点击