1

AFNetworking 文档建议AFHTTPClient为每个 Web 服务创建一个通用(单例)子类。在我的应用程序中,可以从多个后台工作线程访问 Web 服务。可以从多个线程安全地调用该单例吗?

或者,更简单地说,可以从多个线程安全地使用 a 的单个实例AFHTTPClient,还是每个线程应该有一个?

4

1 回答 1

2

因为 AFHTTPClient 操作是自包含的。由于 AFHTTPClient 在内部使用 NSOperationQueue 并且 NSOperationQueue 文档说:

在多个线程中使用单个 NSOperationQueue 对象是安全的,而无需创建额外的锁来同步对该对象的访问。

如果每个 AFHTTPClient 操作由一个线程管理,那么从多个线程使用一个 AFHTTPClient 实例应该是安全的。

于 2013-02-15T14:45:48.000 回答