作家
登录

Swift多线程:GCD进阶,单例、信号量、任务组

作者: 来源: 2018-03-13 15:11:35 阅读 我要评论

  •         })) 
  •     } 
  •      
  •     //组中所有义务都履行完了会发送通知 
  •     group.notify(queue: DispatchQueue.main) { 
  •         print("义务组的义务都已经履行完毕啦!"
  •     } 
  •      
  •      
  •     print("打印测试一下"
  •  
  • 看看打印结不雅:

    Swift多线程:GCD进阶,单例、旌旗灯号量、义务组

    5.2 手动接洽关系

    接下来我们将手动的治理义务组与队列中的关系。

    enter(),leave()是一对儿。前者表示进入到义务组。后者表示分开义务组。

    1. let manualGroup = DispatchGroup() 
    2. //模仿轮回建立几个全局队列 
    3. for manualIndex in 0...3 { 
    4.      
    5.     //进入队列治理 
    6.     manualGroup.enter() 
    7.     DispatchQueue.global().async { 
    8.         //让线程随机歇息几秒钟 
    9.         Thread.sleep(forTimeInterval: TimeInterval(arc4random_uniform(2) + 1)) 
    10.         print("-----手动义务\(manualIndex)履行完毕"
    11.          
    12.         //设备完队列之后,分开队列治理 
    13.         manualGroup.leave() 
    14.     } 
    15.  
    16. //发送通知 
    17. manualGroup.notify(queue: DispatchQueue.main) { 
    18.     print("手动义务组的义务都已经履行完毕啦!"

    Swift多线程:GCD进阶,单例、旌旗灯号量、义务组

    还记得刷新UI用哪个queue嘛?hoho~

    最后,所有的代码都放在这里了:gitHub 下载后给颗Star吧~ 么么哒~(~o ̄3 ̄)~ 爱你们~

    【编辑推荐】

    1. 广度优先搜刮算法应用于Swift手游开辟
    2. 优雅的开辟Swift和Objective-C混编的Framework
    3. Swift实践:应用CoreData完成一个通信录存储
    4. TIOBE 11 月编程说话排行榜:iOS开辟真没人要了?OC、Swift接连下滑
    5. 谷歌搞工作,Fuchsia OS操作体系运行Swift代码
    【义务编辑:未丽燕 TEL:(010)68476606】

      推荐阅读

      全球工作大数据:中国的工作效率高位列全球第四

    沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践! 近日,Priceonomics网站应用Redbooth的数据,梳理统计出以前三年,40个国度所有行业的临盆和义务完成情况。结不雅显示>>>详细阅读


    本文标题:Swift多线程:GCD进阶,单例、信号量、任务组

    地址:http://www.17bianji.com/lsqh/40679.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)