//最常用模板
//全局隊列異步執(zhí)行
DispatchQueue.global().async {
//耗時操作
DispatchQueue.main.async {
//回到主線程
}
}
//創(chuàng)建新隊列
DispatchQueue(label: "newQueue", attributes: .concurrent, target: nil).async {
//并行隊列異步執(zhí)行
}
//創(chuàng)建新隊列
DispatchQueue(label: "newQueue", attributes: .concurrent, target: nil).sync {
//并行隊列同步執(zhí)行
}
//創(chuàng)建新隊列
DispatchQueue(label: "newQueue").async {
//串行隊列異步執(zhí)行
}
//創(chuàng)建新隊列
DispatchQueue(label: "newQueue").sync {
//串行隊列同步執(zhí)行
}
延遲執(zhí)行
let delay:TimeInterval = 3
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + delay) {
//3秒后在主線程執(zhí)行
}
dispatch_block_t在swift3.0已經(jīng)沒了 dispatch_block_t等價于() -> void
dispatch_queue_t等價于DispatchQueue
自己看語法特點
大致這么多差不多就能解決大部分問題了盒蟆,其它自己根據(jù)GCD自己對號入座昂秃。