GCD & Swift3

作者: 孟熠冉的简书 | 来源:发表于2017-06-02 15:30 被阅读5次

1、最常用的在一个异步队列中获取数据,然后返回主线程更新UI

DispatchQueue.global().async {
    DispatchQueue.main.async {
    self.label?.text ="finished"
    }
}

2、优先级的改进

DISPATCH_QUEUE_PRIORITY_HIGH:  .userInitiated

DISPATCH_QUEUE_PRIORITY_DEFAULT:  .default

DISPATCH_QUEUE_PRIORITY_LOW: .utility

DISPATCH_QUEUE_PRIORITY_BACKGROUND: .background

eg:

  DispatchQueue.global(qos: .userInitiated).async {

  }

3、DispatchWorkItem 的使用

et queue = DispatchQueue(label:"swift.queue")
let workItem = DispatchWorkItem(qos: .userInitiated, flags: .assignCurrentContext) {

}
queue.async(execute: workItem)

相当于:使用Global Queue
DispatchQueue.global(qos:.userInitiated).async {

}

4、对dispatch_time_t的改进

let delay = DispatchTime.now() + .seconds(60)

DispatchQueue.main.after(when: delay) {
    // Do something
}

相关文章

  • GCD & Swift3

    1、最常用的在一个异步队列中获取数据,然后返回主线程更新UI 2、优先级的改进 eg: 3、DispatchWor...

  • Swift3使用GCD和DispatchQueues关于gcd

    关于对gcd 的使用,有几个链接写的还是相当不错的。Swift3使用GCD和DispatchQueueshttp:...

  • Swift-GCD

    本篇文章介绍的是在Swift3语言下的GCD应用操作,针对的目标读者可以是没有GCD基础的初学者,也可以是对GCD...

  • Swift3 GCD

    Swift3 的gcd变化很大,这里列举一下,大家可以有个对照: 1、Create a serial queue ...

  • Swift3 & GCD

    前言 这是一篇仿写的博客,主要目的是熟悉Swift3+GCD.参考博客. 一次就好? 我们知道ARC普及后 Obj...

  • iOS开发-Swift3中GCD的使用

    GCD作为iOS开发中多线程实现的一种重要方式,在swift3针对GCD的使用做了一些改进,使其更加面向对象了,在...

  • 网页设计 - 收藏集 - 掘金

    免费且又精致的 HTML/CSS 站点模板 - 前端 - 掘金&l...

  • Swift3 GCD大全

    本文是对这篇文章中GCD的使用方法的语法翻译 另外推荐这篇 看完以上两篇,我保证你的GCD差不多都掌握了 Swif...

  • swift3 GCD学习

    这篇文章对自定义队列的串并行,优先级,定时器和workItem讲的更为详细,有兴趣的可以直接去看 GCD精讲(Sw...

  • GCD - 遐想 in swift3

    遐想 即胡思乱想,编程从来都是向前看,所以不考虑switf3以前 同步 阻塞当前线程 异步 不阻塞当前线程 war...

网友评论

    本文标题:GCD & Swift3

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