溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

IOS 多線程 demo

發(fā)布時(shí)間:2020-07-28 19:02:41 來(lái)源:網(wǎng)絡(luò) 閱讀:439 作者:LANTIANFEIYING 欄目:移動(dòng)開(kāi)發(fā)


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ì)列,


IOS 多線程 demo


global dispatch queue :可以并發(fā)的執(zhí)行多個(gè)任務(wù),但是完成的順序是隨機(jī)的,一般后臺(tái)執(zhí)行的任務(wù)放到這個(gè)queue里, 函數(shù) dispatch_get_global_queue(0,0)取到這個(gè)隊(duì)列:

IOS 多線程 demo



IOS 多線程 demo


IOS 多線程 demo

IOS 多線程 demo



IOS 多線程 demo

IOS 多線程 demo


向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI