reference to : http://www.jianshu.com/p/4c983388dca6
估计现在好多人在为这一块头疼,所以先来点干货。
1
2
3
4
5
6
7
8
<code>//最常用模板</code>
<code>//全局队列异步执行</code>
<code>DispatchQueue</code><code>.</code><code>global</code><code>().</code><code>async</code> <code>{</code>
<code> </code><code>//耗时操作</code>
<code> </code><code>DispatchQueue</code><code>.</code><code>main</code><code>.</code><code>async</code> <code>{</code>
<code> </code><code>//回到主线程</code>
<code> </code><code>}</code>
<code>}</code>
9
10
11
12
13
14
15
16
17
18
19
20
<code>//创建新队列</code>
<code>DispatchQueue</code><code>(</code><code>label</code><code>: </code><code>"newQueue"</code><code>, </code><code>attributes</code><code>: .</code><code>concurrent</code><code>, </code><code>target</code><code>: </code><code>nil</code><code>).</code><code>async</code> <code>{</code>
<code> </code><code>//并行队列异步执行</code>
<code>DispatchQueue</code><code>(</code><code>label</code><code>: </code><code>"newQueue"</code><code>, </code><code>attributes</code><code>: .</code><code>concurrent</code><code>, </code><code>target</code><code>: </code><code>nil</code><code>).</code><code>sync</code> <code>{</code>
<code> </code><code>//并行队列同步执行</code>
<code>DispatchQueue</code><code>(</code><code>label</code><code>: </code><code>"newQueue"</code><code>).</code><code>async</code> <code>{</code>
<code> </code><code>//串行队列异步执行</code>
<code>DispatchQueue</code><code>(</code><code>label</code><code>: </code><code>"newQueue"</code><code>).</code><code>sync</code> <code>{</code>
<code> </code><code>//串行队列同步执行</code>
<code>let</code> <code>delay</code><code>:</code><code>TimeInterval</code> <code>= </code><code>3</code>
<code>DispatchQueue</code><code>.</code><code>main</code><code>.</code><code>asyncAfter</code><code>(</code><code>deadline</code><code>: </code><code>DispatchTime</code><code>.</code><code>now</code><code>() + </code><code>delay</code><code>) {</code>
<code> </code><code>//3秒后在主线程执行</code>
<code>dispatch_block_t</code>在swift3.0已经没了 <code>dispatch_block_t</code>等价于<code>() -> void</code>
<code>dispatch_queue_t</code>等价于<code>DispatchQueue</code>
自己看语法特点
大致这么多差不多就能解决大部分问题了,其它自己根据GCD自己对号入座。
本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/6932190.html如需转载请自行联系原作者
demoblog