下午技术演讲 Zenny chen

13
Grand Central Dispatch —— Zenny Chen

Transcript of 下午技术演讲 Zenny chen

Page 1: 下午技术演讲 Zenny chen

Grand Central Dispatch

—— Zenny Chen

Page 2: 下午技术演讲 Zenny chen

功能

能够指定你的多个任务异步或同步执行

提供了任务之间的同步机制

Page 3: 下午技术演讲 Zenny chen

本讲主要目的

如何通过Apple所提供的强大灵活的GCD工具来充分利用多核并行处理能力以提升应用程序的性能

Page 4: 下午技术演讲 Zenny chen

并行线程的一般模型

并行执行多个独立的任务

多个线程协同执行同一个计算任务(Fork-Join,分岔-汇合)

Page 5: 下午技术演讲 Zenny chen

并行执行独立的任务

Page 6: 下午技术演讲 Zenny chen

多线程协作

Page 7: 下午技术演讲 Zenny chen

GCD具体实例

一些注意点

Demo1——介绍fork-join机制

Demo2——介绍原子操作

Demo3——同时进行不同任务

Page 8: 下午技术演讲 Zenny chen

Demo1——fork-join

Demo1通过一个简单的算法来演示常用的fork-

join机制

首先给定一个数组,找到这个数组元素中的最大元素,然后将这个数组中的每个元素都与所找到的这个最大元素的值相加,并将结果写回

Page 9: 下午技术演讲 Zenny chen

Demo1 Sequence Chart

Page 10: 下午技术演讲 Zenny chen

Demo2——原子操作

对10个数组求和

核0与核1任务共享一个索引计数器,双方每对一组操作则对此索引值做加1操作

Page 11: 下午技术演讲 Zenny chen

Demo2 State Chart

Page 13: 下午技术演讲 Zenny chen

谢谢大家

Apple Developer官网资料——Topics-》Performance

CocoaChina教程——

http://www.cocoachina.com/bbs/read.php?tid-

17912.html