美文网首页ios-面试程序员
ios--AFNetworking中关于线程并发问题

ios--AFNetworking中关于线程并发问题

作者: 简鱼7819 | 来源:发表于2019-11-25 15:23 被阅读0次

    1,问题:AFNetworking发出post/get/put请求回调线程的问题

    AFNetworking在处理block回调时已经做了,dispatch_get_main_queue(),直接回到主线程处理我们逻辑。

    请求失败回调

    失败

    请求成功回调

    测试打印线程[NSThread currentThread]

    但是经测试,如果主线程被阻塞,AFNetworking的回调是无法相应的,此时要在你的处理回调处,调用dispatch_get_main_queue()重新回到主线程

    dispatch_async(dispatch_get_main_queue(), ^{

        //你的block回调

    })

    2,问题:AFNetworking请求线程中最多并发数

    AFNetworking中默认的NSOperationQueue最大并发数是1,那么就说明我们发出同时多条请求时,AFNetworking中的队列NSOperationQueue是串行执行的。

    最大并发数是1 的优点:

    1),所有的网络请求和网络相应都在同一个线程,不是每个请求都新建一个线程,节约资源。

    2),并发数是1,能够保证处理请求的正确顺序

    相关文章

      网友评论

        本文标题:ios--AFNetworking中关于线程并发问题

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