美文网首页
2019-04-12

2019-04-12

作者: 懒惰的王子 | 来源:发表于2019-06-03 10:57 被阅读0次

1、线程和队列

线程和队列

2、队列组

今天看之前代码发现一对函数,dispatch_group_enterdispatch_group_leave,字面意思理解,进队列组,和出队列组。但在使用队列组的时候它们和不用它们的区别在哪呢?一时间没想明白,所以写了个demo来实际应用一下:

2-1

如图,最简单队列组的应用,执行顺序是1->2->3或者2->1->3

再加上,dispatch_group_enterdispatch_group_leave,实际上也没区别。但在实际应用中,我们经常在1和2的并发队列中放网络请求,这就不一样了,接下来模拟一下:

2-2

它的执行顺序是3->1->2或3->2->1,由于队列组group,只会对queue进行监控,但queue里面放的是异步线程。对于queue来说,已经执行完毕了,所以group会直接跳出结束。但queue里面并没有执行完成,那如何监测queue里面queue的执行结果呢?这时候dispatch_group_enterdispatch_group_leave就派上用场了:

2-3

end

相关文章

网友评论

      本文标题:2019-04-12

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