您好,登錄后才能下訂單哦!
ios 常用的多線程編程技術(shù)有以下三種:(還有 pthread 不怎么用,太麻煩)
1, NSThread
2, NSOperation
3, GCD (Grand Central Dispatch)
這三種編程方式從上到下,抽象層次從低到高,抽象層度越高使用越方便,鑒于方便程度,NSThread 使用也不太多了,另外兩種使用多一些.
NSOperation 使用更加精細(xì),可用與網(wǎng)絡(luò)數(shù)據(jù)傳輸之類的。
GCD是蘋(píng)果公司提供的一套并發(fā)解決方案,ios4以及以上可用,
GCD工作原理:把任務(wù)放到對(duì)應(yīng)隊(duì)列中,根據(jù)可用的處理資源,安排這些任務(wù)在任何可用的處理器上執(zhí)行,一個(gè)任務(wù)可以是一個(gè)函數(shù)(function) 或者是一個(gè)block,
GCD的隊(duì)列,dispatch queue,
main dispatch queue :全局性的serial queue,所有和UI操作相關(guān)的任務(wù)都應(yīng)該放到這個(gè)queue里面,在主線程中執(zhí)行。 宏 dispatch_get_main_queue()取到這個(gè)隊(duì)列,
global dispatch queue :可以并發(fā)的執(zhí)行多個(gè)任務(wù),但是完成的順序是隨機(jī)的,一般后臺(tái)執(zhí)行的任務(wù)放到這個(gè)queue里, 函數(shù) dispatch_get_global_queue(0,0)取到這個(gè)隊(duì)列:
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。