美文网首页
swift多线程

swift多线程

作者: iOS程序媛ff | 来源:发表于2017-07-27 18:18 被阅读31次

swift 2.0 和 3.0的多线程的区别

swift 2.0多线程的基础使用

dispatch_async(dispatch_get_global_queue(0, 0)) { () -> Void in
print("加载数据", [NSThread.currentThread()])
dispatch_async(dispatch_get_main_queue(), { () -> Void in
callBack()
})
}

swift 3.0 多线程

//最常用模板
//全局队列异步执行
DispatchQueue.global().async {
//耗时操作
DispatchQueue.main.async {
//回到主线程
}
}

//创建新队列
DispatchQueue(label: "newQueue", attributes: .concurrent, target: nil).async {
//并行队列异步执行
}

//创建新队列
DispatchQueue(label: "newQueueAsync", attributes: .concurrent, target: nil).async {
//并行队列异步执行
}

//创建新队列
DispatchQueue(label: "newQueueSync", attributes: .concurrent, target: nil).sync {
//并行队列同步执行
}

//创建新队列
DispatchQueue(label: "newQueueAsync").async {
//串行队列异步执行
}

//创建新队列
DispatchQueue(label: "newQueueAsync").async {
//串行队列异步执行
}

let delay:TimeInterval = 3
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + delay) {
//3秒后在主线程执行
}

dispatch_block_t在swift3.0已经没了
dispatch_block_t等价于() -> void
dispatch_queue_t等价于DispatchQueue

相关文章

  • swift多线程

    swift 2.0 和 3.0的多线程的区别 swift 2.0多线程的基础使用 dispatch_async(d...

  • iOS-Swift相关

    swift程序. 1.Swift多线程之Operation:异步加载CollectionView图片2.Swift...

  • Swift多线程:GCD进阶,单例、信号量、任务组

    Swift多线程:GCD进阶,单例、信号量、任务组 Swift多线程:GCD进阶,单例、信号量、任务组

  • 多线程

    参考文章:iOS多线程--彻底学会多线程之『GCD』Swift 3.0 GCD和DispatchQueue 使用解...

  • iOS/Swift多线程之---如何避免数据竞争(Data ra

    iOS/Swift多线程之---如何避免数据竞争(Data race)

  • swift3多线程之GCD

    多线程可以说ios进阶高级程序员的必修课,swift2的时候GCD还是继承的OC中多线程的C API,在swift...

  • Swift 5.x 多线程

    Swift多线程编程方案: Thread Cocoa Operation (Operation 和 Operati...

  • GCD

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

  • Swift:与OC混编

    目录一,条件编译二,KVO/KVC三,Swift调用OC四,OC调用Swift五,字符串六,多线程 一,条件编译 ...

  • 多线程

    iOS常见的多线程方案 GCD源码:https://github.com/apple/swift-corelibs...

网友评论

      本文标题:swift多线程

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