在GCD出現(xiàn)之前,有兩種方法
第一種是采用內(nèi)置的“同步塊”(synchronization block)
Snip20160726_1.png
Snip20160726_2.png
第二種是直接使用NSLock
Snip20160726_3.png
Snip20160726_5.png
上面兩種方法都很好,不過有缺陷夜焦。在極端情況下,同步塊會(huì)導(dǎo)致死鎖罩息,效率也不高嗤详。
替代方法就是GCD,它能以簡(jiǎn)單扣汪,高效的形式為代碼加鎖
1.可以這樣做,使用“串行同步隊(duì)列”断楷,將讀取操作與寫入操作都放在同一個(gè)隊(duì)列里面,既可以保證數(shù)據(jù)同步
Snip20160726_12.png
Snip20160726_13.png
2.最好的做法 利用并發(fā)隊(duì)列和柵欄 崭别。(獲取方法可以并發(fā)執(zhí)行,保證設(shè)置方法和獲取方法不能并發(fā)執(zhí)行恐锣,就可以保證數(shù)據(jù)安全)
Snip20160726_14.png
Snip20160726_19.png
Snip20160726_20.png
Snip20160726_21.png
Snip20160726_18.png
--摘自 編寫高質(zhì)量oc52個(gè)有效方法-41條
不錯(cuò)的書~