iOS 中的線程和進(jìn)程

線程和進(jìn)程的區(qū)別

線程:

  • 1恳谎,線程是進(jìn)程的基本單位,一個(gè)進(jìn)程的所有任務(wù)都在線程中執(zhí)行憋肖。
  • 2因痛,進(jìn)程要想執(zhí)行任務(wù),必須得有線程岸更,進(jìn)程至少要有一條線程鸵膏。
  • 3,程序啟動(dòng)會(huì)默認(rèn)開啟一條線程怎炊,這條線程被稱為主線程或UI線程较性。

進(jìn)程:

  • 1用僧,進(jìn)程是指在系統(tǒng)中正在運(yùn)行的一個(gè)應(yīng)用程序。
  • 2赞咙,每個(gè)進(jìn)程之間是獨(dú)立的,每個(gè)進(jìn)程均運(yùn)行在其專用的且受保護(hù)的內(nèi)存空間內(nèi)糟港。

進(jìn)程與線程的關(guān)系

地址空間:同一進(jìn)程的線程共享本進(jìn)程的地址空間攀操,而進(jìn)程之間則是獨(dú)立的地址空間。
資源擁有:同一進(jìn)程內(nèi)的線程共享本進(jìn)程的資源如內(nèi)存秸抚、I/O速和、cpu等,但進(jìn)程之間的資源是獨(dú)立的剥汤。

  • 1颠放,一個(gè)進(jìn)程崩潰后,在保護(hù)模式下吭敢,不會(huì)對其他進(jìn)程產(chǎn)生影響碰凶,但是一個(gè)線程崩潰整個(gè)進(jìn)程都死掉,所有多進(jìn)程要比多線程健壯鹿驼。
  • 2欲低,進(jìn)程切換時(shí),消耗的資源大畜晰,效率高砾莱,所以涉及到頻繁的切換時(shí),使用線程要好于進(jìn)程凄鼻。
  • 3腊瑟,執(zhí)行過程:每個(gè)獨(dú)立的進(jìn)程有一個(gè)程序運(yùn)行的入口順序執(zhí)行序列程序入口块蚌。但是線程不能獨(dú)立執(zhí)行闰非,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個(gè)線程執(zhí)行控制匈子。
  • 4河胎,線程是處理器調(diào)度的基本單位,但是進(jìn)程不是虎敦。
  • 5游岳,線程沒有地址空間,線程包含在進(jìn)程地址空間中其徙。

多線程是多個(gè)線程同時(shí)在進(jìn)行么胚迫?

時(shí)間片

時(shí)間片:CPU在多個(gè)任務(wù)直接進(jìn)行快速的切換,這個(gè)時(shí)間間隔就是時(shí)間片唾那。

  • 1访锻,對于單核CPU,同一時(shí)間,CPU只能處理一個(gè)進(jìn)程期犬。多線程是CPU快速的在多個(gè)線程之間的切換河哑。
  • 2,對于多核CPU龟虎,具備多個(gè)線程同時(shí)執(zhí)行的條件璃谨。

線程的生命周期

線程的生命周期可分為New、Runnable鲤妥、Running佳吞、Blocked、Dead這5種狀態(tài)棉安。

線程周期.png

  • 1底扳,新建線程,線程進(jìn)入新建狀態(tài)贡耽。
  • 2衷模,當(dāng)線程start,線程進(jìn)入就緒(Runable)狀態(tài)。
  • 3菇爪,當(dāng)CPU調(diào)度當(dāng)前線程算芯,線程進(jìn)入運(yùn)行(Running)狀態(tài)。
  • 4凳宙,當(dāng)CPU調(diào)度其他線程熙揍,線程進(jìn)入就緒(Runable)狀態(tài)。
  • 5氏涩,線程調(diào)用sleep等待同步鎖届囚,從 可調(diào)度線程池移出,線程進(jìn)入阻塞(Blocked)狀態(tài)是尖。
  • 6意系,sleep結(jié)束時(shí),獲得同步鎖饺汹,重新添加到可調(diào)度線程池中蛔添。
  • 7,線程運(yùn)行結(jié)束兜辞,則會(huì)銷毀迎瞧,死亡(Dead)。

線程的優(yōu)先級(jí)越高逸吵,執(zhí)行越快么凶硅?
不是的,執(zhí)行速度取決于資源的大小(任務(wù)的復(fù)雜度)和CPU的調(diào)度扫皱。

端口通信

在iOS中足绅,使用NSPort進(jìn)行通信捷绑,對象須遵守NSMachPortDelegate協(xié)議,另外氢妈,需要將 兩個(gè)通信對象的端口加到當(dāng)前線程runloop中粹污。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市允懂,隨后出現(xiàn)的幾起案子厕怜,更是在濱河造成了極大的恐慌,老刑警劉巖蕾总,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異琅捏,居然都是意外死亡生百,警方通過查閱死者的電腦和手機(jī)柄延,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門市俊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滤奈,“玉大人,你說我怎么就攤上這事绅你。” “怎么了忌锯?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵领炫,是天一觀的道長。 經(jīng)常有香客問我似舵,道長碟狞,這世上最難降的妖魔是什么族沃? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任常空,我火速辦了婚禮漓糙,結(jié)果婚禮上铣缠,老公的妹妹穿的比我還像新娘。我一直安慰自己昆禽,他們只是感情好捡硅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布喷屋。 她就那樣靜靜地躺著屯曹,像睡著了一般寄疏。 火紅的嫁衣襯著肌膚如雪陕截。 梳的紋絲不亂的頭發(fā)上社搅,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天形葬,我揣著相機(jī)與錄音暮的,去河邊找鬼猖腕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的麸粮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼桨吊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了凤巨?” 一聲冷哼從身側(cè)響起视乐,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎敢茁,沒想到半個(gè)月后佑淀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡彰檬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年伸刃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逢倍。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捧颅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出较雕,到底是詐尸還是另有隱情碉哑,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布亮蒋,位于F島的核電站扣典,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏慎玖。R本人自食惡果不足惜贮尖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望趁怔。 院中可真熱鬧湿硝,春花似錦薪前、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蚤吹,卻和暖如春例诀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背裁着。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工繁涂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人二驰。 一個(gè)月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓扔罪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親桶雀。 傳聞我的和親對象是個(gè)殘疾皇子矿酵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348