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,能够保证处理请求的正确顺序
网友评论