關(guān)于IOS多線程三種方式的那點(diǎn)兒事

1.NSThread

NSThread是IOS提供的可以開辟一個(gè)線程的類,是完全面向?qū)ο蟮?,可以直接操控線程對(duì)象和方法,非常直觀和方便。

[NSThread isMainThread]可以返回一個(gè)Bool值。用于檢測(cè)當(dāng)前線程是主線程還是分線程。1是主線程;0是分線程。

[NSThread detachNewThreadSelector: toTarget: withObjct: ]這個(gè)方法是開辟一個(gè)分線程,第三個(gè)參數(shù)是你想要往這個(gè)方法里面?zhèn)鞯闹怠?/p>

NSThread這種方法創(chuàng)建的線程需要管理線程的生命周期、同步、加鎖問題,會(huì)導(dǎo)致一定的性能開銷。不過可以用[NSThread currentThread]跟蹤任務(wù)所在線程,在調(diào)試的時(shí)候十分方便。

2.NSOperation和NSOperationQueue

它是蘋果公司對(duì)GCD的封裝,是面向?qū)ο蟮木€程技術(shù)。只需將任務(wù)放到對(duì)應(yīng)的隊(duì)列中,不必關(guān)心線程管理、同步等問題。

NSOperationQueue是個(gè)操作隊(duì)列,可以開辟一個(gè)分線程,也稱線程池。通過alloc創(chuàng)建出來的操作隊(duì)列相當(dāng)于開辟了一個(gè)分線程;[NSOperationQueue mainQueue]獲取主隊(duì)列,這時(shí)把操作對(duì)象放進(jìn)主隊(duì)列里,他們都會(huì)在主線程里執(zhí)行任務(wù)。[queue addOperation: ]

NSOperation是操作隊(duì)列要放置的操作對(duì)象。他是一個(gè)虛類,不能直接使用,只能用它的子類:NSInvocationOperation、NSBlockOperation。

需要注意的是更新刷新UI一定要在主線程里執(zhí)行。

3.GCD(Grand Central Dispach)

GCD用來解決多核編程問題,IOS4之后提出的,是基于C語言的底層API。

GCD是蘋果為多核編程的并行運(yùn)算提出的解決方案,所以會(huì)自動(dòng)合理的利用更多的CPU內(nèi)核。

GCD會(huì)自動(dòng)管理線程的生命周期,創(chuàng)建線程、調(diào)度任務(wù)、銷毀線程。

GCD使用block來定義任務(wù),使用起來非常靈活。

通過GCD可以創(chuàng)建串行、并發(fā)、主隊(duì)列,可以同步和異步執(zhí)行任務(wù)。


****************自己IOS學(xué)習(xí)的知識(shí)點(diǎn)總結(jié),有不足之處,還請(qǐng)多多包涵***********

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在這篇文章中,我將為你整理一下 iOS 開發(fā)中幾種多線程方案,以及其使用方法和注意事項(xiàng)。當(dāng)然也會(huì)給出幾種多線程的案...
    伯恩的遺產(chǎn)閱讀 275,544評(píng)論 251 2,329
  • Object C中創(chuàng)建線程的方法是什么?如果在主線程中執(zhí)行代碼,方法是什么?如果想延時(shí)執(zhí)行代碼、方法又是什么? 1...
    AlanGe閱讀 1,908評(píng)論 0 17
  • 2017年4月7號(hào)齊佳煒和霍鑫的婚禮如期舉行,以下文字和圖片僅簡單記錄婚禮的過程,很多感人點(diǎn)滴銘記于心。 婚禮一般...
    陽光小娃閱讀 117評(píng)論 0 0
  • 第三課:種子決定了一切。 一.如何去實(shí)現(xiàn)你的目標(biāo)? 每個(gè)人都會(huì)有每個(gè)人方法,這是關(guān)于自己的過往的一些模式,這些模...
    龍驍閱讀 3,669評(píng)論 0 6
  • 生命誠可貴,每種生命的呈現(xiàn)都是獨(dú)一無二的,在生命的世界中從生命的誕生到逝去都是一世。正如說人類的平均壽命據(jù)說是70...
    宰相天東閱讀 921評(píng)論 1 3

友情鏈接更多精彩內(nèi)容