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)
    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 多线程 在iOS开发中为提高程序的运行效率会将比较耗时的操作放在子线程中执行,iOS系统进程默认启动一个主线程,用...
    郭豪豪阅读 7,389评论 0 4
  • 背景 担心了两周的我终于轮到去医院做胃镜检查了!去的时候我都想好了最坏的可能(胃癌),之前在网上查的症状都很相似。...
    Dely阅读 13,028评论 21 42
  • Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么? 1...
    AlanGe阅读 5,778评论 0 17
  • 从小生活在农村,家里生活困难,金钱的匮乏让我早早地明白了金钱的重要性。 爸爸在一个火电厂当合同制工人,每个月的工资...
    红薯公主阅读 1,248评论 0 0
  • 恍恍惚惚的2016年,仿佛一眨眼的时间,已经成为过去时。总的来说,我很感恩亦感谢2016年带给我的欢乐和收获。 2...
    思悟记录仪阅读 1,261评论 0 0