RunLoop

runloop 運行著的線程循環(huán)批钠。用來接受循環(huán)中的事件和安排線程工作宇植,并在沒有工作時,讓線程進入睡眠狀態(tài)埋心。

Run Loop從兩個不同的事件源中接收消息:

Input source用來投遞異步消息指郁,通常消息來自另外的線程或者程序。在接收到消息并調(diào)用程序指定方法時踩窖,線程中對應(yīng)的NSRunLoop對象會通過執(zhí)行runUntilDate:方法來退出坡氯。

Timer source用來投遞timer事件(Schedule或者Repeat)中的同步消息。在處理消息時洋腮,并不會退出Run Loop箫柳。

Run Loop還有一個觀察者Observer的概念,可以往Run Loop中加入自己的觀察者以便監(jiān)控Run Loop的運行過程啥供。


Run Loop Modes

Run Loop Mode可以理解為一個集合中包括所有要監(jiān)視的事件源和要通知的Run Loop中注冊的觀察者悯恍。每一次運行自己的Run Loop時,都需要顯示或者隱示的指定其運行于哪一種Mode伙狐。在設(shè)置Run Loop Mode后涮毫,你的Run Loop會自動過濾和其他Mode相關(guān)的事件源,而只監(jiān)視和當(dāng)前設(shè)置Mode相關(guān)的源(通知相關(guān)的觀察者)贷屎。

1) NSDefaultRunLoopMode: 大多數(shù)工作中默認的運行方式罢防。

2) NSConnectionReplyMode: 使用這個Mode去監(jiān)聽NSConnection對象的狀態(tài),我們很少需要自己使用這個Mode唉侄。

3) NSModalPanelRunLoopMode: 使用這個Mode在Model Panel情況下去區(qū)分事件(OS X開發(fā)中會遇到)咒吐。

4) UITrackingRunLoopMode: 使用這個Mode去跟蹤來自用戶交互的事件(比如UITableView上下滑動)。

5) GSEventReceiveRunLoopMode: 用來接受系統(tǒng)事件,內(nèi)部的Run Loop Mode恬叹。

6) NSRunLoopCommonModes: 這是一個偽模式候生,其為一組run loop mode的集合。如果將Input source加入此模式绽昼,意味著關(guān)聯(lián)Input source到Common Modes中包含的所有模式下唯鸭。在iOS系統(tǒng)中NSRunLoopCommonMode包含NSDefaultRunLoopMode、NSTaskDeathCheckMode硅确、UITrackingRunLoopMode.可使用CFRunLoopAddCommonMode方法向Common Modes中添加自定義mode片择。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灌诅,一起剝皮案震驚了整個濱河市匀谣,隨后出現(xiàn)的幾起案子钳踊,更是在濱河造成了極大的恐慌,老刑警劉巖大莫,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛉腌,死亡現(xiàn)場離奇詭異,居然都是意外死亡只厘,警方通過查閱死者的電腦和手機烙丛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來羔味,“玉大人河咽,你說我怎么就攤上這事「吃” “怎么了忘蟹?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長搁凸。 經(jīng)常有香客問我媚值,道長,這世上最難降的妖魔是什么护糖? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任褥芒,我火速辦了婚禮,結(jié)果婚禮上嫡良,老公的妹妹穿的比我還像新娘锰扶。我一直安慰自己,他們只是感情好寝受,可當(dāng)我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布坷牛。 她就那樣靜靜地躺著,像睡著了一般很澄。 火紅的嫁衣襯著肌膚如雪漓帅。 梳的紋絲不亂的頭發(fā)上锨亏,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天,我揣著相機與錄音忙干,去河邊找鬼。 笑死浪藻,一個胖子當(dāng)著我的面吹牛捐迫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播爱葵,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼施戴,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了萌丈?” 一聲冷哼從身側(cè)響起赞哗,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辆雾,沒想到半個月后肪笋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡度迂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年藤乙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惭墓。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡坛梁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出腊凶,到底是詐尸還是另有隱情划咐,我是刑警寧澤,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布钧萍,位于F島的核電站褐缠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏划煮。R本人自食惡果不足惜送丰,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弛秋。 院中可真熱鬧器躏,春花似錦、人聲如沸蟹略。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挖炬。三九已至揽浙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背馅巷。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工膛虫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人钓猬。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓稍刀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親敞曹。 傳聞我的和親對象是個殘疾皇子账月,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,665評論 2 354

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