美文网首页
IOS GCD的用法

IOS GCD的用法

作者: 厦门第一帅哥 | 来源:发表于2018-01-16 15:07 被阅读8次

后台执行:

dispatch_async(dispatch_get_global_queue(0,0),^{

//something

});

主线程执行:

dispatch_async(dispatch_get_main_queue(),^{

//something

});

一次性执行:

staticdispatch_once_tonceToken;dispatch_once(&onceToken,^{

//code to be executed

});

延迟2秒执行:

double delayInseconds =2.0f;

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也可以自己定义,如果要定义queue,可以使用dispatch_queue_create方法,示例如下:

dispatch_queue_t urls_queue = dispatch_queue_create("blog.ddapps.tolly",NULL);

dispatch_async(urls_queue,^{

//your code

});

dispatch_release(urls_queue);

GCD还有一些高级用法,例如让后台两个线程并行执行,然后等两个线程都结束后,再汇 总执行结果。这个可以用dispatch_group 、dispatch_group_async和dispatch_group_notify来实现,示例如下:

dispatch_group_tgroup = dispatch_group_create();

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

//并行执行的线程一

});

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

//并行执行的线程二

});

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

//汇总结果

})

相关文章

  • GCD

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

  • iOS多线程

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

  • iOS多线程之GCD浅析

    本文用来介绍 iOS 多线程中 GCD 的相关知识以及使用方法,分析GCD的原理,总结GCD的用法和需要注意的地方...

  • [Swift]多线程--GCD

    1. 前言 之前写了一遍文章介绍了Objective-C中GCD的用法: [iOS]多线程--GCD, 现在转战到...

  • iOS GCD用法

    本人记性不太好,总是记不住GCD的一些用法,干脆直接写下来,省的每次都百度搜了,这个转自 :http://www....

  • iOS多线程之GCD用法详解

    在上一篇讲解了iOS开发的三种多线程实现方式的特点和用法,在这一篇主要讲解一下GCD的用法。 GCD(Grand ...

  • IOS GCD的用法

    后台执行: dispatch_async(dispatch_get_global_queue(0,0),^{//s...

  • 关于GCD常用的方法

    iOS开发多线程篇—GCD的常见用法 一、延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)...

  • iOS gcd看我就够了

    gcd是iOS中多线程的一种技术,下面我们来看看gcd的用法 同步&异步 同步 同步执行:字面意思,同步执行就是执...

  • iOS - GCD 用法详解

    以前总是被并行、串行,同步、异步 队列搞得晕头转向,最近理顺了一遍GCD的用法,再也不迷路了。一、Dispatch...

网友评论

      本文标题:IOS GCD的用法

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