swift 多线程 GCD概念

  • 任务+队列
  • 易用
  • 效率
  • 性能

 

底层是开源的

底层地址:https://opensource.apple.com/tarballs/libdispatch/

主要功能

  • 创建管理Queue
  • 提交job
  • Dispatch Group
  • 管理Dispatch Object
  • 信号量Semaphore
  • 队列屏障 Barrier
  • Dispatch Source
  • Queue Context数据
  • Dispatch I/O Channel
  • Disaptch Data 对象

重要概念-队列

  • 主队列:任务在主线程中执行
  • 并行队列:任务会以先进先出的顺序入列出列,,但是因为多个任何可以并行执行,所有完成的顺序是不一定的
  • 串行队列:任务会以先进先出的顺序入列和出列,但是同一时刻只会执行一个任务

GCD 队列API

  • Dispatch.main
  • Disapatch.global
  • DispatchQueue(label:qos;,atributes:,autoreleaseFrequency:target)
  • queue.label
  • setTarget(queue:DisPathcQueue?)

  • 最终的目标队列都是主队列和全局队列
  • 如果把一个并行队列的目标队列设置为一个串行队列,那么并行队列将不再并行
  • 如果多个队列的目标队列都设置为同一个串行队列,那么这个队列连同队列的任务都将串行执行
  • 如果设置了目标队列形成环了。结果是不可预期的。
  • 如果在一个队列正在执行任务的时候更换目标队列。结果也是不可预期的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值