Swift基础--线程队列

参考:青玉伏案博客--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)
    }

你可能感兴趣的:(Swift基础--线程队列)