美文网首页
GCD基础学习

GCD基础学习

作者: Alazyz | 来源:发表于2020-09-02 14:17 被阅读0次

一、队列的创建和获取方式

GCD 的使用步骤

  1. GCD 的使用步骤其实很简单,只有两步。
  2. 创建一个队列(串行队列或并发队列)
  3. 将任务追加到任务的等待队列中,然后系统就会根据任务类型执行任务(同步执行或异步执行)

创建队列

  • 函数dispatch_queue_create

  1. 此函数需要两个入参,以下是参数说明:
  2. 参数一表示队列的唯一标识符,用于 DEBUG,可为空,Dispatch Queue 的名称推荐使用应用程序 ID 这种逆序全程域名;
  3. 参数二用来识别是串行队列还是并发队列。DISPATCH_QUEUE_SERIAL 表示串行队列,DISPATCH_QUEUE_CONCURRENT 表示并发队列。
  • 创建串行队列

dispatch_queue_tqueue = dispatch_queue_create("net.bujige.testQueue", > DISPATCH_QUEUE_SERIAL);
  • 创建并发队列

dispatch_queue_tqueue = dispatch_queue_create("net.bujige.testQueue", > DISPATCH_QUEUE_CONCURRENT);
  • 主队列

  1. 对于串行队列,GCD 提供了的一种特殊的串行队列:主队列(Main Dispatch Queue)。
  2. 所有放在主队列中的任务,都会放到主线程中执行。
  3. 可使用dispatch_get_main_queue()获得主队列。
    dispatch_queue_tqueue = dispatch_get_main_queue();
  4. 对于并发队列,GCD 默认提供了全局并发队列(Global Dispatch Queue)。
  • 可以使用dispatch_get_global_queue来获取。需要传入两个参数。第一个参数表示队列优先级,一般用DISPATCH_QUEUE_PRIORITY_DEFAULT。第二个参数暂时没用,用0即可。
spatch_queue_tqueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);

相关文章

  • iOS GCD的使用

    什么是GCD了解GCD前,需要了解的基础知识GCD的使用使用注意事项 -GCD学习前铺垫-什么是GCDGCD (G...

  • iOS GCD的使用

    本文的主要内容是: 什么是GCD 了解GCD前,需要了解的基础知识 GCD的使用 使用注意事项 -GCD学习前铺垫...

  • GCD基础学习

    一、队列的创建和获取方式 GCD 的使用步骤 GCD 的使用步骤其实很简单,只有两步。创建一个队列(串行队列或并发...

  • iOS 开发之 GCD 基础

    iOS 开发之 GCD 基础 本文主要为 GCD 的 队列和执行方法等基础总结,目录如下: [TOC] GCD是什...

  • iOS GCD&&多线程

    iOS GCD&&多线程 基础篇 GCD用途 GCD 是 Grand Central Dispatch 的缩写。 ...

  • 【iOS】 GCD-资源竞争和死锁篇

    GCD-基础篇提出了三个问题,这里我们就这三个问题,在基于GCD-基础篇知识之上给出几种解决方案,仅供参考学习。 ...

  • iOS 开发之 GCD 不同场景使用

    iOS 开发之 GCD 不同场景使用 本文在iOS 开发值 GCD 基础 的基础上,继续总结了 GCD 的一些AP...

  • iOS多线程之GCD - 基础

    GCD系列 GCD基础 GCD进阶函数 调度组dispatch_group 信号量dispatch_semapho...

  • GCD学习(三)

    GCD学习一 GCD学习二 GCD学习三 常用函数: dispatch_set_target_queue disp...

  • 高级iOS面试题全纪录

    iOS基础: 多线程使用,gcd跟operation区别,怎么取消正在执行的gcd任务 GCD 系列知识总结 NS...

网友评论

      本文标题:GCD基础学习

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