對多線程理解

多線程的概念

即1個進(jìn)程中可以開啟多條多線程抛计,每條線程可以并行(同時)執(zhí)行不同的任務(wù)

進(jìn)程 —>車間 吹截,線程—>工人
即同一個車間,可以有多個工人同時執(zhí)行不同的工作

線程的并行

并行即同時執(zhí)行晨逝。比如同事開啟3條線程分別下載3個文件(分別是文件A懦铺,文件B,文件C)

多線程并發(fā)執(zhí)行的原理

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

多線程的優(yōu)缺點

優(yōu)點

1)能適當(dāng)提高程序的執(zhí)行效率
2)能適當(dāng)提高資源利用率(cpu耘婚、內(nèi)存利用率)

缺點
  1. 開啟線程需要占用一定的內(nèi)存空間(默認(rèn)情況下,主線程占用1M己莺,子線程占用512KB),如果開啟大量的線程戈轿,會占用大量的內(nèi)存空間,降低程序的性能
    2 ) 線程越多胜蛉,CPU在調(diào)度線程上的開銷就越大
  2. 程序設(shè)計更加復(fù)雜:比如線程之間的通信色乾、多線程的數(shù)據(jù)共享
    4)如果開啟大量的線程,會降低程序的性能
多線程在iOS開發(fā)中的應(yīng)用
主線程

1)一個iOS程序運行后暖璧,默認(rèn)開啟一條線程澎办,稱為“主線程”或“UI線程”
2)作用:刷新顯示UI,處理UI事件(比如點擊事件麦锯,滾動事件,拖拽事件)

使用注意

1)不要將耗時操作放在主線程中區(qū)處理扶欣,會卡住線程
2)和UI相關(guān)的刷新操作必須放在主線程中進(jìn)行處理

iOS中多線程的實現(xiàn)方案

1.pthread

1.特點:
1)一套通用的多線程API
2)適用于Unix\Linux|Windows等系統(tǒng)
3)跨平臺\可移植
4)使用難度大
2.使用語言:c語言
3.使用頻率:幾乎不用
4.線程生命周期:由程序員進(jìn)行管理

NSThread

1.特點:
1)使用更加面向?qū)ο?br> 2)簡單易用料祠,可直接操作線程對象
2.使用語言:OC語言
3.使用頻率:偶爾使用
4.線程生命周期:由程序員進(jìn)行管理

GCD

1.特點
1)旨在替代NSThread等線程技術(shù)
2)充分利用設(shè)備的多核(自動)
2.使用語言:C語言
3.使用頻率:經(jīng)常使用
4.線程生命周期:自動管理

NSOperation

1.特點:
1)基于GCD(底層是GCD)
2)比GCD多了一些更簡單實用的功能
3)使用更加面向?qū)ο?br> 2.使用語言:OC語言
3.使用頻率:經(jīng)常使用
4.線程生命周期:自動管理

GCD

GCD的基本知識:
1.兩個核心概念:隊列和任務(wù)
2.同步函數(shù)和異步函數(shù)

GCD基本使用

1.異步函數(shù)+并發(fā)隊列:開啟多條線程术陶,并發(fā)執(zhí)行任務(wù)
2.異步函數(shù)+串行隊列:開啟一條線程煤痕,串行執(zhí)行任務(wù)
3.同步函數(shù)+并發(fā)隊列:不開線程,串行執(zhí)行任務(wù)
4.同步函數(shù)+串行隊列:不開線程摆碉,串行執(zhí)行任務(wù)
5.異步函數(shù)+主隊列:不開線程,在主線程中串行執(zhí)行任務(wù)
6.同步函數(shù)+主隊列:不開線程忌卤,串行執(zhí)行任務(wù)(注意死鎖發(fā)生)
7.注意同步函數(shù)和異步函數(shù)在執(zhí)行順序上面的差異

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末驰徊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子棍厂,更是在濱河造成了極大的恐慌,老刑警劉巖浦马,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晶默,死亡現(xiàn)場離奇詭異航攒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)屎债,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門圆丹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來躯喇,“玉大人,你說我怎么就攤上這事廉丽。” “怎么了欣福?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵拓劝,是天一觀的道長郑临。 經(jīng)常有香客問我,道長厢洞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任丧叽,我火速辦了婚禮公你,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己笨触,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布粗俱。 她就那樣靜靜地躺著虚吟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪偏塞。 梳的紋絲不亂的頭發(fā)上邦鲫,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機(jī)與錄音古今,去河邊找鬼滔以。 笑死你画,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的撬即。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼唱歧,長吁一口氣:“原來是場噩夢啊……” “哼颅崩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起沿彭,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤喉刘,失蹤者是張志新(化名)和其女友劉穎漆弄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體廉邑,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蛛蒙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年牵祟,在試婚紗的時候發(fā)現(xiàn)自己被綠了猴伶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡筝尾,死狀恐怖办桨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情损姜,我是刑警寧澤殊霞,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站棒卷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏比规。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一蜒什、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧霎冯,春花似錦肃晚、人聲如沸仔戈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽倦春。三九已至,卻和暖如春睁本,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背抄瑟。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留枉疼,地道東北人皮假。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像骂维,于是被迫代替她去往敵國和親惹资。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容

  • iOS多線程編程 基本知識 1. 進(jìn)程(process) 進(jìn)程是指在系統(tǒng)中正在運行的一個應(yīng)用程序航闺,就是一段程序的執(zhí)...
    陵無山閱讀 6,021評論 1 14
  • 從哪說起呢褪测? 單純講多線程編程真的不知道從哪下嘴。。 不如我直接引用一個最簡單的問題汰扭,以這個作為切入點好了 在ma...
    Mr_Baymax閱讀 2,739評論 1 17
  • 本文用來介紹 iOS 多線程中 GCD 的相關(guān)知識以及使用方法稠肘。這大概是史上最詳細(xì)、清晰的關(guān)于 GCD 的詳細(xì)講...
    花花世界的孤獨行者閱讀 497評論 0 1
  • 一.概述 1.基本概念 同步與異步的概念 同步 必須等待當(dāng)前語句執(zhí)行完畢萝毛,才可以執(zhí)行下一個語句项阴。 異步 不用等待當(dāng)...
    Jt_Self閱讀 471評論 0 1
  • 2018.2.28 英語:飲食英語跟讀。聽力未完成环揽。春節(jié)Marathon昨天結(jié)束歉胶,所以今天修整一天通今。 晚上包了餃子...
    灸灸微笑閱讀 207評論 0 0