参考:青玉伏案博客--GCD详解
/**
获取当前线程
*/
func getCurrentThread() -> Thread {
return Thread.current
}
/**
当前线程休眠
- parameter interval: 休眠时间单位
*/
func currentThreadSleep(interval:TimeInterval) -> Void {
Thread.sleep(forTimeInterval: interval)
}
/**
获取主队列
*/
func getMainQueue() -> DispatchQueue {
return DispatchQueue.main
}
/**
获取全局队列
- parameter priority:DispatchQoS 指定优先级
userInteractive >
default >
unspecified >
userInitiated >
utility >
background
*/
func getGlobalQueue(priority: DispatchQoS = .default) -> DispatchQueue {
return DispatchQueue.global(qos: priority.qosClass)
}
/**
创建并行队列
- parameter label:并行队列的标记
- returns: 并行队列
*/
func getConcurrentQueue(label:String) -> DispatchQueue {
return DispatchQueue(label: label, qos: .default, attributes: .concurrent, autoreleaseFrequency: .workItem)
}
/**
创建串行队列 默认为串行么。。。
*/
func getSerialQueue(label:String) -> DispatchQueue {
return DispatchQueue(label: label)
}
网友评论