GCD是神馬蚕捉?

1.GCD是蘋果提供的一個簡單、直接的能夠?qū)崿F(xiàn)線程操作的方案柴淘,需要和block配合使用迫淹,它是基于C的一套管理線程的方法,允許程序?qū)⑷蝿?wù)切分為多個單一任務(wù)然后提交至工作隊(duì)列來并發(fā)地或者串行地執(zhí)行悠就。

GCD中

隊(duì)列就是dispatch_queue_t 結(jié)構(gòu)體類型千绪。

隊(duì)列從類型上來看分串行(Serial)和并發(fā)(Concurrent)的充易。

區(qū)別在于串行必須要等一個(block)任務(wù)完成后梗脾,下一個(block)任務(wù)才開始進(jìn)行;并行則是無序的盹靴,不過兩者都是按順序向隊(duì)列里放任務(wù)進(jìn)去炸茧。

2.蘋果還單獨(dú)提供了一個主隊(duì)列(main quere)瑞妇,它也是一個串行隊(duì)列,與主線程關(guān)聯(lián)梭冠,用來處理UI相關(guān)的任務(wù)辕狰,主隊(duì)列并不用自己去創(chuàng)建的。

全局的幾個不同優(yōu)先級的隊(duì)列也可以直接獲取到

dispatch_async(dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

NSLog(@“碉堡控漠,我是異步并發(fā)的默認(rèn)優(yōu)先級線程");

});

3.如果自己需要特殊的隊(duì)列蔓倍,可以自定義串行隊(duì)列和并行隊(duì)列,根據(jù)參數(shù)區(qū)分盐捷,自己的線程自己維護(hù)偶翅,自己清理釋放。


第一個參數(shù)為queue的名稱碉渡,命名規(guī)則為應(yīng)用名稱ID的倒序+queue名字

第二個參數(shù)為 DISPATCH_QUEUE_SERIAL 或 Null 創(chuàng)建 串行隊(duì)列(Serial dispatch queue)

第二個參數(shù) 如果為DISPATCH_QUEUE_CONCURRENT 則創(chuàng)建的是并行隊(duì)列 (Concurrent queue)

dispatch_queue_t mySerialQueue = dispatch_queue_create("gcd.mySerialQueue", NULL);

dispatch_async(mySerialQueue, ^{

? ? NSLog(@"我的名字叫 gcd.mySerialQueue 聚谁,我是串行隊(duì)列");

});

dispatch_release(mySerialQueue);? //釋放

dispatch_queue_t myConcurrentQueue = ? ? ? ? ? ?dispatch_queue_create("gcd.myConcurrentQueue",DISPATCH_QUEUE_CONCURRENT);

dispatch_async(myConcurrentQueue, ^{

? ? ?NSLog(@"我的名字叫 gcd.myConcurrentQueue,我是并行隊(duì)列");

});

dispatch_release(myConcurrentQueue );? //釋放

4.向隊(duì)列中分派任務(wù)滞诺,可以以同步的方式進(jìn)行(dispatch_sync),也可以是異步的方式(dispatch_async)形导。


同步的方式會在分派任務(wù)時(shí)阻塞線程,直到任務(wù)結(jié)束习霹。因此考慮到這種死鎖的問題朵耕,同步盡量不用好。

異步的方式會在分派任務(wù)時(shí)淋叶,我們的block任務(wù)便會在開線程執(zhí)行憔披。

5.總結(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市爸吮,隨后出現(xiàn)的幾起案子芬膝,更是在濱河造成了極大的恐慌,老刑警劉巖形娇,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锰霜,死亡現(xiàn)場離奇詭異,居然都是意外死亡桐早,警方通過查閱死者的電腦和手機(jī)癣缅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哄酝,“玉大人友存,你說我怎么就攤上這事√招疲” “怎么了屡立?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長搀军。 經(jīng)常有香客問我膨俐,道長勇皇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任焚刺,我火速辦了婚禮敛摘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘乳愉。我一直安慰自己兄淫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布蔓姚。 她就那樣靜靜地躺著拖叙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赂乐。 梳的紋絲不亂的頭發(fā)上薯鳍,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機(jī)與錄音挨措,去河邊找鬼挖滤。 笑死,一個胖子當(dāng)著我的面吹牛浅役,可吹牛的內(nèi)容都是我干的斩松。 我是一名探鬼主播皆尔,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼站绪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了肝集?” 一聲冷哼從身側(cè)響起瞪讼,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤钧椰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后符欠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嫡霞,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年希柿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了诊沪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡曾撤,死狀恐怖端姚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挤悉,我是刑警寧澤渐裸,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響橄仆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衅斩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一盆顾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧畏梆,春花似錦您宪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至溜畅,卻和暖如春捏卓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背慈格。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工怠晴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浴捆。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓蒜田,卻偏偏與公主長得像,于是被迫代替她去往敵國和親选泻。 傳聞我的和親對象是個殘疾皇子冲粤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評論 2 350

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

  • 簡介 GCD(Grand Central Dispatch)是在macOS10.6提出來的,后來在iOS4.0被引...
    sunmumu1222閱讀 858評論 0 2
  • iOS中GCD的使用小結(jié) 作者dullgrass 2015.11.20 09:41*字?jǐn)?shù) 4996閱讀 20199...
    DanDanC閱讀 820評論 0 0
  • 16年9月到17年1月在帝都找了一份符合自己專業(yè)和興趣的實(shí)習(xí),但從每天9月興致勃勃上班到最終又累又不開心窝撵。1月份科阎,...
    SevenMelon閱讀 141評論 0 0
  • 今日體檢 悠哉悠哉睡到八點(diǎn)多,發(fā)現(xiàn)大媽六點(diǎn)多就微信我:到了么忿族?快來快來锣笨,今天人少!難得逍遙道批,繼續(xù)慢吞吞刷牙洗臉错英,思...
    你說我聽好么閱讀 123評論 2 2
  • 管理者專業(yè)的要求自己訓(xùn)練科學(xué)管理技能,專業(yè)的對待人和事隆豹。 不以個性化椭岩,隨意性,經(jīng)驗(yàn)主義的方式來處理人和事,令管理并...
    楊順政閱讀 92評論 0 0