美文网首页
GCD一些用法

GCD一些用法

作者: 天空是灰色的白 | 来源:发表于2016-11-21 15:53 被阅读0次

很多细节处理上需要用到多线程,so,GCD的用处便来了。下面是一些较简单常用的用法:

//  后台执行:

dispatch_async(dispatch_get_global_queue(0, 0), ^{

// something

});

// 主线程执行:

dispatch_async(dispatch_get_main_queue(), ^{

// 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

});

// 自定义dispatch_queue_t

dispatch_queue_t urls_queue = dispatch_queue_create("blog.devtang.com", NULL);

dispatch_async(urls_queue, ^{

// your code

});

dispatch_release(urls_queue);

// 合并汇总结果

dispatch_group_t group = dispatch_group_create();

dispatch_group_async(group, dispatch_get_global_queue(0,0), ^{

// 并行执行的线程一

});

dispatch_group_async(group, dispatch_get_global_queue(0,0), ^{

// 并行执行的线程二

});

dispatch_group_notify(group, dispatch_get_global_queue(0,0), ^{

// 汇总结果

});

相关文章

  • GCD

    iOS多线程 Swift4 GCD深入解析swift GCD 的一些高级用法GCD 之线程组(Dispatch G...

  • GCD一些用法

    很多细节处理上需要用到多线程,so,GCD的用处便来了。下面是一些较简单常用的用法: // 后台执行: dispa...

  • dispatch_group和dispatch_barrier的

    前天被人问到使用GCD做依赖的用法,结果完全答不上来,下来之后就搜索了一下GCD的高级用法,发现自己对于GCD的掌...

  • 浅谈iOS GCD常见的几种用法和线程锁的应用

    关于GCD的一些常见的用法。 GCD iOS 4.0以后苹果推出,是苹果公司为多核的并行运算提出的解决方案。相对于...

  • iOS面试--GCD常见用法

    项目中常见的GCD用法有已下几种: 1.GCD栅栏函数2.GCD快速迭代(遍历)3.GCD队列组的使用 1.GCD...

  • GCD的一些使用

    本片文字意在记录gcd的一些用法 1. dispatch_semaphore 相关方法:dispatch_sema...

  • iOS - GCD中的定时器

    GCD定时器优点:① GCD定时器不受RunLoop约束② 比NSTimer更加准时。 GCD定时器用法敲 dis...

  • GCD用法简介

    GCD用法 GCD Dispatch Queue介绍 苹果官方对GCD的说明:开发者要做的只是定义想执行的任务并追...

  • iOS多线程

    iOS多线程实现方案 GCD(Grand Central Dispatch) 一、基本用法GCD会自动利用更多的C...

  • GCD的一些高级用法

    好吧,这周比较忙,没更新博客,之前的有些忘记了,先说说对项目架构的理解吧。 目前在项目中我使用的是MVC架构,后期...

网友评论

      本文标题:GCD一些用法

      本文链接:https://www.haomeiwen.com/subject/quusettx.html