總綱:
GCD基本概念
GCD如何實(shí)現(xiàn)
GCD如何使用
隊(duì)列和任務(wù)組合
一、GCD基本概念
GCD 全稱Grand Central Dispatch(大中樞隊(duì)列調(diào)度),是一套低層API,提供了?種新的方法來進(jìn)?并發(fā)程序編寫。從基本功能上講,GCD有點(diǎn)像NSOperationQueue,他們都允許程序?qū)⑷蝿?wù)切分為多個(gè)單一任務(wù),然后提交??作隊(duì)列來并發(fā)的或者串?的執(zhí)行。GCD是C實(shí)現(xiàn),?NSOpertionQueue更底層更高效,并且它不是Cocoa框架的一部分 并發(fā)任務(wù)會(huì)像NSOperationQueue那樣基于系統(tǒng)負(fù)載來合適地并發(fā)進(jìn)?,而串?行隊(duì)列同一時(shí)間只執(zhí)行單一任務(wù),GCD的API很大程度上基于block。
GCD并發(fā)編程的主要好處歸納
GCD可用于多核的并行運(yùn)算
GCD會(huì)自動(dòng)利用更多的CPU內(nèi)核(比如雙核、四核)
GCD會(huì)自動(dòng)管理線程的生命周期(創(chuàng)建線程、調(diào)度任務(wù)、銷毀線程)
程序員只需要告訴GCD想要執(zhí)行什么任務(wù),不需要編寫任何線程管理