IOS開發(fā)中的多線程技術(shù)

多線程

什么是多線程

  • 1個進(jìn)程中可以開啟多條線程,每條線程可以并行(同時)執(zhí) 行不同的任務(wù)
  • 進(jìn)程 -> 車間,線程 -> 車間工人
  • 多線程技術(shù)可以提高程序的執(zhí)行效率

多線程的原理

  • 同一時間,CPU只能處理1條線程,只有1條線程在工作(執(zhí)行)
  • 多線程并發(fā)(同時)執(zhí)行,其實(shí)是CPU快速地在多條線程之間調(diào)度(切換)
  • 如果CPU調(diào)度線程的時間足夠快,就造成了多線程并發(fā)執(zhí)行的假象

IOS中的多線程

  • IOS程序運(yùn)行之后,會開啟1條默認(rèn)的線程,稱之為“主線程”或者叫"UI線程"
  • 主線程的主要作用
    • 顯示頁面,刷新頁面
    • 處理UI事件(例如點(diǎn)擊事件)

IOS中實(shí)現(xiàn)多線程的幾種技術(shù)

  • pthread
    • 跨平臺,可移植,但是使用難度稍大,適用于多種平臺,是一套通用的的多線程API
    • 語言:C
    • 線程聲明周期:程序員管理
  • NSThread
    • 面向?qū)ο蟮?比較易用的多線程技術(shù)
    • 語言:OC
    • 線程聲明周期:程序員管理
  • GCD
    • 可以充分利用現(xiàn)在的多核設(shè)備,是現(xiàn)在IOS比較常用的多線程技術(shù)
    • 語言:C
    • 線程聲明周期:自動管理
  • NSOperation
    • 基于GCD,但是封裝成了OC語言的方法,更加面向?qū)ο?比GCD多了一些更簡單實(shí)用的功能
    • 語言:OC
    • 線程聲明周期:自動管理
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • GCD: 特點(diǎn):自動管理線程的生命周期(創(chuàng)建線程、調(diào)度任務(wù)、銷毀線程),使用C語言,自帶Block。靈活,方便,功...
    王藍(lán)胖閱讀 790評論 0 2
  • Object C中創(chuàng)建線程的方法是什么?如果在主線程中執(zhí)行代碼,方法是什么?如果想延時執(zhí)行代碼、方法又是什么? 1...
    AlanGe閱讀 1,913評論 0 17
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,603評論 30 472
  • 1. 函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別? 在變量提升或聲明提前過程中,函數(shù)聲明是將整個被定義的函數(shù)提前,即該函數(shù)可以...
    王康_Wang閱讀 403評論 0 0
  • 霞光如釉色眉流,斜暉脈脈雪悠悠。 此是人間冬好景,千叢萬樹盡白頭。
    梅心梅飛閱讀 261評論 5 20

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