• [Swift] Swift3.0--GCD


    reference to : http://www.jianshu.com/p/4c983388dca6

    估计现在好多人在为这一块头疼,所以先来点干货。

    //最常用模板
    //全局队列异步执行
    DispatchQueue.global().async {
        //耗时操作
        DispatchQueue.main.async {
            //回到主线程
        }
    }
    
    //创建新队列
    DispatchQueue(label: "newQueue", attributes: .concurrent, target: nil).async {
        //并行队列异步执行
    }
    //创建新队列
    DispatchQueue(label: "newQueue", attributes: .concurrent, target: nil).sync {
        //并行队列同步执行
    }
    //创建新队列
    DispatchQueue(label: "newQueue").async {
        //串行队列异步执行
    }
    //创建新队列
    DispatchQueue(label: "newQueue").sync {
        //串行队列同步执行
    }
    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
    自己看语法特点
    大致这么多差不多就能解决大部分问题了,其它自己根据GCD自己对号入座。

  • 相关阅读:
    转:Jenkins自动化部署入门详细教程
    详解MySQL锁
    常见的内存溢出与解决办法
    read IEEE Standard for verilog(1)
    verilog之状态机
    quantus18的signaltap逻辑分析仪
    英语文档之关键词统计
    cadence软件画版图操作
    英语文档之vivado界面
    verilog之wire和reg
  • 原文地址:https://www.cnblogs.com/0616--ataozhijia/p/6932190.html
Copyright © 2020-2023  润新知