zoukankan      html  css  js  c++  java
  • Swift3GCD

    GCD的使用在Swift3中的方法

    //串行队列

    let q:DispatchQueue = DispatchQueue(label: "xiaosi")

     

    //并发队列 qos : 为 优先级别 可以不设置

    let queue = DispatchQueue(label: "com.appcoda.anotherQueue", qos: .userInitiated, attributes: .concurrent)

     

    使用最多的是异步并发

            queue.async {

                print("异步并发11111(Thread.current)")

            }

            

            queue.async {

                print("异步并发22222(Thread.current)")

            }

            

            queue.async {

                print("异步并发33333(Thread.current)")

            }

            

            queue.async {

                print("异步并发44444(Thread.current)")

            }

     

    其次是异步串行

            queue.async {

                print("异步串行11111(Thread.current)")

            }

            queue.async {

                print("异步串行2222(Thread.current)")

            }

            queue.async {

                print("异步串行4444(Thread.current)")

            }

            queue.async {

                print("异步串行5555(Thread.current)")

            }

    还有就是线程组

            let group = DispatchGroup()

     

            q.async(group: group) {

                sleep(2)

                print("异步任务3333(Thread.current)")

            }

            

            q.async(group: group) {

                sleep(2)

                print("异步任务4444(Thread.current)")

            }

            

            group.notify(queue: q) {

                print("全部做完了")

            }

            

     

     

     

  • 相关阅读:
    Ant
    责任链模式
    日志logback
    知识点
    三个实例演示 Java Thread Dump 日志分析
    IDEA运行编译后配置文件无法找到,或配置文件修改后无效的问题
    IDEA创建MAVEN WEB工程
    多线程源码分析ThreadPoolExecutor
    解决
    微博关系服务与Redis的故事
  • 原文地址:https://www.cnblogs.com/xsiOS/p/6179474.html
Copyright © 2011-2022 走看看