Swift GCD任務(wù)組

GCD的任務(wù)組在開發(fā)中是經(jīng)常被使用到涨缚,當(dāng)需要一組任務(wù)結(jié)束后再執(zhí)行一些操作時(shí),就可以用它啦不皆。

DispatchGroup的職責(zé)就是當(dāng)隊(duì)列中的所有任務(wù)都執(zhí)行完畢后蟆技,會(huì)發(fā)出一個(gè)通知來告訴告訴大家魄懂,任務(wù)組中所執(zhí)行的隊(duì)列中的任務(wù)執(zhí)行完畢了沿侈。

既然是組,里面就肯定有很多隊(duì)列市栗,不然怎么能叫做“組”缀拭。

隊(duì)列和組關(guān)聯(lián)有兩種方式:手動(dòng)、自動(dòng)填帽。

  1. 自動(dòng)關(guān)聯(lián)
func useGroupQueue() {
    let group = DispatchGroup()
    //模擬循環(huán)建立幾個(gè)全局隊(duì)列
    for index in 0...3 {

//創(chuàng)建隊(duì)列的同時(shí)蛛淋,加入到任務(wù)組中        
DispatchQueue.global().async(group: group, execute: DispatchWorkItem.init(block: {
            Thread.sleep(forTimeInterval: TimeInterval(arc4random_uniform(2) + 1))
            print("任務(wù)\(index)執(zhí)行完畢")
        }))
    }
    
    //組中所有任務(wù)都執(zhí)行完了會(huì)發(fā)送通知
    group.notify(queue: DispatchQueue.main) {
        print("任務(wù)組的任務(wù)都已經(jīng)執(zhí)行完畢啦!")
    }
    
    
    print("打印測(cè)試一下")
}


打印結(jié)果:


image.png
  1. 手動(dòng)關(guān)聯(lián)
    enter()篡腌,leave()是一起使用铣鹏。前者表示進(jìn)入到任務(wù)組。后者表示離開任務(wù)組哀蘑。
let manualGroup = DispatchGroup()
//模擬循環(huán)建立幾個(gè)全局隊(duì)列
for manualIndex in 0...3 {
    
    //進(jìn)入隊(duì)列管理
    manualGroup.enter()
    DispatchQueue.global().async {
        //讓線程隨機(jī)休息幾秒鐘
        Thread.sleep(forTimeInterval: TimeInterval(arc4random_uniform(2) + 1))
        print("-----手動(dòng)任務(wù)\(manualIndex)執(zhí)行完畢")
        
        //配置完隊(duì)列之后,離開隊(duì)列管理
        manualGroup.leave()
    }
}

//發(fā)送通知
manualGroup.notify(queue: DispatchQueue.main) {
    print("手動(dòng)任務(wù)組的任務(wù)都已經(jīng)執(zhí)行完畢啦葵第!")
}

打印結(jié)果:


image.png

利用任務(wù)組可以完成很多場(chǎng)景的工作绘迁。例如多任務(wù)執(zhí)行完后,統(tǒng)一刷新UI卒密。把刷新UI的操作放在notify里面就好了缀台。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市哮奇,隨后出現(xiàn)的幾起案子膛腐,更是在濱河造成了極大的恐慌,老刑警劉巖鼎俘,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哲身,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡贸伐,警方通過查閱死者的電腦和手機(jī)勘天,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人脯丝,你說我怎么就攤上這事商膊。” “怎么了宠进?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵晕拆,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我材蹬,道長(zhǎng)实幕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任赚导,我火速辦了婚禮茬缩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吼旧。我一直安慰自己凰锡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布圈暗。 她就那樣靜靜地躺著掂为,像睡著了一般。 火紅的嫁衣襯著肌膚如雪员串。 梳的紋絲不亂的頭發(fā)上勇哗,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音寸齐,去河邊找鬼欲诺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛渺鹦,可吹牛的內(nèi)容都是我干的扰法。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼毅厚,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼塞颁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吸耿,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤祠锣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后咽安,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伴网,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年妆棒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了是偷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拳氢。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蛋铆,靈堂內(nèi)的尸體忽然破棺而出馋评,到底是詐尸還是另有隱情,我是刑警寧澤刺啦,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布留特,位于F島的核電站,受9級(jí)特大地震影響玛瘸,放射性物質(zhì)發(fā)生泄漏蜕青。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一糊渊、第九天 我趴在偏房一處隱蔽的房頂上張望右核。 院中可真熱鬧,春花似錦渺绒、人聲如沸贺喝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽躏鱼。三九已至,卻和暖如春殷绍,著一層夾襖步出監(jiān)牢的瞬間染苛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工主到, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留茶行,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓登钥,卻偏偏與公主長(zhǎng)得像拢军,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子怔鳖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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

  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 29,334評(píng)論 8 265
  • 從哪說起呢? 單純講多線程編程真的不知道從哪下嘴固蛾。结执。 不如我直接引用一個(gè)最簡(jiǎn)單的問題,以這個(gè)作為切入點(diǎn)好了 在ma...
    Mr_Baymax閱讀 2,739評(píng)論 1 17
  • 天在下暴雨,朋友圈在哭泣 <央行取消存貸比釋放7萬億犀斋,存款貶值2%....> 朋友圈都給這條信息炸哭了(除了我之外...
    悄悄溜閱讀 273評(píng)論 0 1
  • 我是4月1日夜里十一點(diǎn)進(jìn)入小灶群的,話題當(dāng)時(shí)趕上大家討論就完成了情连,所以一直考慮需不需要完成4月1日的晨讀感悟叽粹。然后...
    my彩色沙漠閱讀 142評(píng)論 0 2
  • 人生之路漫漫, 思量中自行求索却舀, 有崇山峻嶺之險(xiǎn)阻虫几, 有茫茫平原之坦途, 有風(fēng)霜雨雪之刺骨挽拔, 有艷陽和風(fēng)之暖柔辆脸, ...
    佳語佳言閱讀 117評(píng)論 0 0