下午技术演讲 Zenny chen

Post on 12-May-2015

729 views 7 download

Transcript of 下午技术演讲 Zenny chen

Grand Central Dispatch

—— Zenny Chen

功能

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

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

本讲主要目的

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

并行线程的一般模型

并行执行多个独立的任务

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

并行执行独立的任务

多线程协作

GCD具体实例

一些注意点

Demo1——介绍fork-join机制

Demo2——介绍原子操作

Demo3——同时进行不同任务

Demo1——fork-join

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

join机制

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

Demo1 Sequence Chart

Demo2——原子操作

对10个数组求和

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

Demo2 State Chart

谢谢大家

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

CocoaChina教程——

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

17912.html