多线程-GCD简介

  • 全称:Grand Central Dispatch
    纯C语言的API,iOS 4.0推出, 提供了非常多强大的函数

  • GCD的优势
    GCD是苹果公司为多核的并行运算提出的解决方案
    GCD会自动利用更多的CPU内核(比如双核、四核)
    GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程)
    开发者只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码

  • GCD的两个核心
    1.任务:执行什么操作(本质就是一个block)
    2.队列:用来存放任务(串行队列、并行队列、全局队列和主队列)

  • GCD使用的两个步骤
    1.创建任务:确定要做的事情
    2.将任务添加到队列中
    GCD会自动将队列中的任务取出,放到对应的线程中执行
    任务的取出遵循队列的FIFO原则:先进先出,后进后出

  • GCD中有2个用来执行任务的函数(queue:队列 block:任务)
    1.同步的方式执行任务
    dispatch_sync(dispatch_queue_t queue, dispatch_block_t block);
    2.异步的方式执行任务
    dispatch_async(dispatch_queue_t queue, dispatch_block_t block);

GCD特有的功能:
1.一次性执行
2.延迟执行
3.调度组

你可能感兴趣的:(多线程-GCD简介)