0

当有更多的并发连接并且当连接达到特定状态时被调用的方法访问属性时,属性是否应该atomic在(NSURLConnectionDelegate)中?NSURLConnectionDataDelegate其他线程无法访问我调用的那些属性。

4

1 回答 1

1

NSURLConnection的并发性是基于运行循环的,因此只要您的对象作为委托的所有连接都是从同一个运行循环开始的,您就不必担心委托中的并发性。如果您启动在不同运行循环上安排的多个连接,那么是的,您需要保护委托对象的私有状态。原子属性很少能满足这一点。

简而言之,您要么不需要担心这一点,要么原子属性不太可能有帮助。一个简单的选择是让所有委托方法dispatch_async工作到私有串行 GCD 队列。

于 2013-08-31T20:27:54.677 回答