2013-08-31 2 views
0

Должны ли свойства быть atomic в NSURLConnectionDataDelegate (NSURLConnectionDelegate), когда есть больше параллельных подключений и свойств, вызываемых методами, когда соединение достигает определенного состояния? Доступ из других потоков к этим свойствам, вызываемым мной, отсутствует.Атомность свойств делегата, такая как NSURLConnectionDelegate

ответ

1

NSURLConnection Параллелизм NSURLConnection основан на запуске, поэтому, если все соединения, для которых ваш объект является делегатом, запускаются из одного цикла выполнения, вам не нужно беспокоиться о параллелизме в своем делете. Если вы запускаете несколько подключений, запланированных на разных циклах запуска, то да, вам нужно будет защитить частное состояние объектов-делегатов. Атомные свойства редко достаточно для этого.

Короче говоря, вам либо не нужно беспокоиться об этом, либо атомные свойства вряд ли помогут. Одним из простых вариантов было бы все ваши методы делегирования dispatch_async их работы для частной очереди GCD.

Смежные вопросы