GCD的使用在Swift3中的方法

//串行队列

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

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

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
span.s1 { }
span.s2 { color: #bb2ca2 }
span.s3 { color: #703daa }
span.s4 { color: #d12f1b }

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

}

还有就是线程组

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa }
span.s1 { color: #bb2ca2 }
span.s2 { color: #000000 }
span.s3 { }

let group = DispatchGroup()

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px }
span.s1 { }
span.s2 { color: #3d1d81 }
span.s3 { color: #272ad8 }
span.s4 { color: #d12f1b }
span.s5 { font: 11.0px "PingFang SC"; color: #d12f1b }
span.s6 { color: #703daa }

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("全部做完了")

}

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
span.s1 { }
span.s2 { color: #3d1d81 }
span.s3 { color: #d12f1b }
span.s4 { font: 11.0px "PingFang SC"; color: #d12f1b }
span.s5 { color: #703daa }

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa }
span.s1 { color: #bb2ca2 }
span.s2 { color: #000000 }
span.s3 { }
span.s4 { color: #d12f1b }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
span.s1 { color: #bb2ca2 }
span.s2 { }
span.s3 { color: #703daa }
span.s4 { color: #d12f1b }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #008400 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px }
span.s1 { font: 11.0px Menlo }
span.s2 { }
span.s3 { color: #3d1d81 }
span.s4 { color: #d12f1b }
span.s5 { font: 11.0px "PingFang SC"; color: #d12f1b }
span.s6 { color: #703daa }

Swift3GCD的更多相关文章

随机推荐

  1. Asp.net mvc 大文件上传 断点续传

    Asp.net mvc 大文件上传 断点续传 进度条   概述 项目中需要一个上传200M-500M的文件大小的功能,需要断点续传.上传性能稳定.突破asp.net上传限制.一开始看到51CTO上的这 ...

  2. ASP.NET WebForm 的路由

    ASP.NET WebForm 的路由 偷会闲, 看看博客园, 有筒子写了篇: ASP.NET的路由 我翻了翻两前的一份邮件, 是我当时在项目之余的时间研究的,那时还没用MVC,所有项目都是 WebF ...

  3. 安装arcgis server 10.2遇到的问题总结

    1.创建管理站点失败 错误提示:Failed to create the site. The machine does not have a valid license. Please authori ...

  4. [每日一题] OCP1z0-047 :2013-07-26 alter table set unused之后各种情况处理

    有疑问可以去itpub讨论:http://www.itpub.net/thread-1804872-1-1.html 对于alter table setunused的用法,查官方文档: alter_t ...

  5. python tornado nginx deployment tornado 的部署在linux Nginx服务器

    题外话: 这里分享一个链接是将Flask 和 Apache 用 mod_wsgi 来进行传唤的部署方式,在digital ocean VPS 上的. https://www.digitalocean. ...

  6. fastboot,bootloader,recovery

    Fastboot模式,在这个模式下,我们可以为手机进行解锁.可以在该模式下连接电脑进行软件或者指令解锁(s-off),这个模式也称“下载模式” Fastboot fastboot是一种比recover ...

  7. 使用HttpURLConnection实现多线程下载

    HttpURLConnection继承了URLConnection,因此也可用于向指定网站发送GET请求.POST请求,而且它在URLConnection基础上提供了如下便捷方法: 实现多线程下载的步 ...

  8. 【deep learning学习笔记】最近读的几个ppt(四)

    这几个ppt都是在微博上看到的,是百度的一个员工整理的. <Deep Belief Nets>,31页的一个ppt 1. 相关背景 还是在说deep learning好啦,如特征表示云云. ...

  9. Android---控制设备照相机

    本文译自:http://developer.android.com/training/camera/cameradirect.html 本文中,我们讨论如何使用框架API来直接的控制照相机硬件. 直接 ...

  10. 使用pentaho工具将数据库数据导入导出为Excel

    写在前面:本篇博客讲述的是如何使用pentaho工具快速的将数据库数据导出为Excel文件,以及如何将Excel文件数据导入数据库. 补充:使用此工具并不需要任何一句代码并能快速便捷解决实际问题,此工 ...