iOS多線程(原理篇):深入淺出解析多線程

一、多線程的基本概念

(1)進(jìn)程:是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,是操作系統(tǒng)的基礎(chǔ),主要管理資源。如:一個正在手機(jī)上運行的微信,就是一個進(jìn)程。

(2)線程:是進(jìn)程的基本執(zhí)行單元。一個進(jìn)程至少要有一個線程。

注:進(jìn)程只負(fù)責(zé)資源的調(diào)度與分配,線程才是程序真正的執(zhí)行單元,負(fù)責(zé)代碼執(zhí)行。你可以把進(jìn)程比作食堂,食堂內(nèi)的一個個窗口就相當(dāng)于線程,排隊買飯的學(xué)生,就是線程里面的任務(wù),任務(wù)在線程里面是串行的。食堂最少有一個窗口,同樣進(jìn)程至少要有一個線程。

(3)主線程:一個進(jìn)程至少要有一個線程,這個線程叫做主線程。主線程在程序啟動時被創(chuàng)建,用于執(zhí)行main函數(shù)。主線程主要負(fù)責(zé)處理UI,所有更新UI的操作都必須在主線程上執(zhí)行。不要把耗時操作放在主線程,會卡界面。

(4)多線程:同一時刻,一個CPU只能處理一條線程,但CPU可以在多條線程之間快速的切換,只要切換的足夠快,就造成了多線程并發(fā)執(zhí)行的現(xiàn)象。多線程是通過提高資源使用率來提高系統(tǒng)總體的效率。我們運用多線程,是為了將耗時操作放在后臺執(zhí)行。




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

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

  • 又來到了一個老生常談的問題,應(yīng)用層軟件開發(fā)的程序員要不要了解和深入學(xué)習(xí)操作系統(tǒng)呢? 今天就這個問題開始,來談?wù)劜?..
    tangsl閱讀 4,317評論 0 23
  • Object C中創(chuàng)建線程的方法是什么?如果在主線程中執(zhí)行代碼,方法是什么?如果想延時執(zhí)行代碼、方法又是什么? 1...
    AlanGe閱讀 1,913評論 0 17
  • 講多線程這個話題,就免不了先了解多線程相關(guān)的技術(shù)概念。本文涉及到的技術(shù)概念有CPU、進(jìn)程、線程、同異步、隊列等概念...
    jackyshan閱讀 3,892評論 2 26
  • 《金文誠〈論語〉學(xué)習(xí)筆記281衛(wèi)靈公第十五36》 【子曰:"當(dāng)仁不讓于師。"】 【學(xué)習(xí)筆記】 今天是丙申年壬辰月庚...
    金吾生閱讀 550評論 1 0
  • 據(jù)統(tǒng)計,國內(nèi)缺牙患者普遍用活動假牙來修復(fù),但不少老年人都反映不適應(yīng)、不美觀、咀嚼力差,使用壽命只有五年,五年后就必...
    洗發(fā)水的冬天閱讀 2,501評論 0 0

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