天天看点

[Swift] Swift3.0--GCD

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>() -&gt; void</code>

<code>dispatch_queue_t</code>等价于<code>DispatchQueue</code>

自己看语法特点

大致这么多差不多就能解决大部分问题了,其它自己根据GCD自己对号入座。

本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/6932190.html如需转载请自行联系原作者

demoblog

继续阅读