美文网首页
GCD基础总结三

GCD基础总结三

作者: 炭墩儿 | 来源:发表于2017-09-21 06:50 被阅读0次

    上代码~


    dispatch_group

    在开启了多线程执行任务时,若使用了dispatch_group_notify、dispatch_group_enter、dispatch_group_leave,也能有效的保证了等所有的子线程任务处理完后,有一个处理最后结果的地方。

    dispatch_group_enter:通知group,下面的任务马上要放到group中执行了。

    dispatch_group_leave:通知group,任务完成了,该任务要从group中移除了。

    这两种通知可以在多线程间自由穿梭的。

    dispatch_semaphore

    当我们在处理一系列线程的时候,当数量比较大,在以前我们可能会选择使用NSOperationQueue来处理并发控制,但如何在GCD中快速的控制并发呢?其实就是dispatch_semaphore

    因为我们设置的初始值是2 所以在添加了俩个任务之后,第三个任务在wait 的位置判断信号量值已经等于0,所以会等待。等上线的延时1秒操作完成之后,会给信号量值加1,才会完成任务3。

    相关文章

      网友评论

          本文标题:GCD基础总结三

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