Swift3GCD
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的更多相关文章
随机推荐
- DateTime 格式化
在格式化的时候,希望输出2013/10/01 但可能实际的输出是2013-10-01. string s1 = result.Item1.ToString("yyyy/MM/dd" ...
- Python多线程的创建,相关函数和守护线程的理解
一:多线程的创建 threading库创建线程有两种方式,函数式和继承式 1)函数式 def func(): print 'Starting' print 'Ending' t=threadin ...
- CPU 硬盘性能
CPU 硬盘性能到底相差多少 本文以一个现代的.实际的个人电脑为对象,分析其中CPU(Intel Core 2 Duo 3.0GHz)以及各类子系统的运行速度——延迟和数据吞吐量.通过粗略的估算PC各 ...
- 对"一维最大子数组和"问题的思考
对"一维最大子数组和"问题的思考(homework-01) 一维最大子数组和问题,即给定一个数组,在它所有的连续子数组的和中,求最大的那个和.“最大子数组和”是一个很好的IT面试考 ...
- cocos2dx android运行Luac编译后的lua代码
环境: win7 64 cocos2d-2.1rc0-x-2.1.2 lua 5.1 通常我们编写好的lua代码都是明文形式,谁都可以查看修改,为了防止自己的劳动成果不被别人轻易的盗取,可以使用lua ...
- 关于JS函数的bind
昨天被人问到js的bind的作用是什么? 这个倒还能回答出来,bind 之后返回一个新的函数,这个函数可以保持传递的this上下文. 接着又问了,那么bind两次不同的上下文会怎样? 这个一下子就蒙了 ...
- Linux设备驱动开发详解-Note(5)---Linux 内核及内核编程(1)
Linux 内核及内核编程(1) 成于坚持,败于止步 Linux 2.6 内核的特点 Linux 2.6 相对于 Linux 2.4 有相当大的改进,主要体现在如下几个方面. 1.新的调度器 2.6 ...
- Eclipse相关集锦
开场白,之前的个人博客写过很多细小的Eclipse的东西,这里将搬过来,作为整体一篇. 1.Eclipse提示失效 解决:window->Preferences->Java->Edi ...
- 文件对话框WPF(5)----文件浏览对话框
废话就不多说了,开始... WPF中文件浏览对话框的实现可以利用Windows API Code Pack,它是一个用于访问Windows Vista/7 特性的托管代码函数库,但并没有包含在.NET ...
- Power BI官方视频(4) Power BI Desktop 2017年首次更新先睹为快
在过去的2016年,Power BI Desktop在功能上进行了很多改进和更新,产品迭代速度非常快,基本是每个月一个版本.过去的一年,我们期待的Power BI中国区服务已经可以在世纪互联购买和使用 ...