美文网首页
GCD和网络加载的一点整理(一)

GCD和网络加载的一点整理(一)

作者: Lance_lg | 来源:发表于2017-09-11 18:42 被阅读0次

    项目开发中我们经常遇到在一个页面要同时发起多个请求的情况,并且全部完成才更新UI,这时候就需要用到group 了,由于网络请求用AF都是发起异步请求,所以这里主要是写一下线程同步的问题,Demo链接,上代码

    第一种,用dispatch_group_enter 和 dispatch_group_leave来同步,这两个是成对出现的,dispatch_group_enter表示从group里开始一个任务,dispatch_group_leave表示一个任务从group里结束了

    第二种,用信号量来控制

    GCD的信号量有3个函数

    dispatch_semaphore_create创建一个semaphore(通俗讲就是创建一个有多少个通道的信号量)

    dispatch_semaphore_signal发送一个信号(通俗讲,就是+1,给一个信号)

    dispatch_semaphore_wait等待信号(通俗讲就是要看信号满足不满足,满足,通过,不满足,等到满足为止或者到了超时的时间,才可继续)

    相关文章

      网友评论

          本文标题:GCD和网络加载的一点整理(一)

          本文链接:https://www.haomeiwen.com/subject/ucufsxtx.html