美文网首页
AFNetworking 中 GCD 的使用(6)

AFNetworking 中 GCD 的使用(6)

作者: 老猫_2017 | 来源:发表于2020-01-15 14:28 被阅读0次

    该篇将是 AFNetworking 中 GCD 使用的总结篇。

    • dispatch_once 用来保证线程安全, 只执行一次,可以是全局变量,局部静态变量,单利等

    • concurrent queue 配合 dispatch_sync 来实现读并发, 配合 dispatch_barrier_sync or dispatch_barrier_async 来完成写时单一保护。同步还是异步,可以依赖具体的使用场景来实现。

    • serial queue 与 dispatch_sync ,保证在多线程场景下的,线程安全。

    • 与UI相关的,最后结果,通过 dispatch_async 返还到主线程去。

    • AFNetworking 中的通知,最后都是在主线程中发送,需要异步到主线程进行执行。

    • concurrent queue + dispatch_sync + dispatch_barrier_async 可以解决经典的 多读,单写操作问题。使用场景,比如 线程安全的数组,字典,管理集合等等。

    • dispatch_sync 对 main queue 必然会生效;dispatch_barrier_sync 遇到 dispatch_global_queue 是无效的,只对自定义的并行队列生效

    相关文章

      网友评论

          本文标题:AFNetworking 中 GCD 的使用(6)

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