首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AFNetworking NSThread

AFNetworking NSThread
EN

Stack Overflow用户
提问于 2013-04-27 03:38:17
回答 1查看 316关注 0票数 1

我正在研究AFNetworking,并注意到它创建了自己的NSThread。据我所知,苹果现在不鼓励使用NSThread。对于AFNetworking创建Is自己的NSThread,这是可接受的实践吗?在未来的版本中,这一点会改变吗?

谢谢

代码语言:javascript
复制
+ (NSThread *)networkRequestThread {
    static NSThread *_networkRequestThread = nil;
    static dispatch_once_t oncePredicate;

    dispatch_once(&oncePredicate, ^{
        _networkRequestThread = [[NSThread alloc] initWithTarget:self selector:@selector(networkRequestThreadEntryPoint:) object:nil];
        [_networkRequestThread start];
    });

    return _networkRequestThread;
}
EN

回答 1

Stack Overflow用户

发布于 2013-04-27 04:40:31

如果你想深入了解开发人员的计划,你应该在AFNetworking Github Issues page上发布这个问题,但在回答你的问题时,苹果公司关于Migrating Away From Threads的建议是基于这样一个事实:编写NSThread代码很复杂,操作队列和调度队列是编写多线程代码的一种更容易、更安全的方法。他们并不是说你不能使用NSThread (至少在我看来是这样),只是说通常有更简单的方法来做我们过去对线程所做的事情。

底线是,在后台队列中使用NSURLConnection需要小心。如果您只是从后台队列创建一个简单的、基于委托的连接,您会发现您的委托方法可能无法调用。对于这个问题,AFNetworking技术是一个完全可以接受的解决方案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16243990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档