Я только что некоторое время задавался вопросом, как именно асинхронные запросы работают с NSURLConnection.
Например, предположим, что в вашем приложении запущено несколько процессов выгрузки, и все они инициализированы с использованием разных экземпляров NSURLConnection. В процессе загрузки ваши объекты-обёртки получают методы делегата NSURLConnection, например:
-(void)connectionDidFinishLoading:(NSURLConnection*)connection;
Предположим, что во всех ваших объектах-оболочках NSURLConnection используется один и тот же объект делегата, который имеет список всех активных загрузок в массиве, и что при вызове connectionDidFinishLoading для всех ваших соединений они входят и удаляют себя из этого списка общий делегированный объект.
Тогда возникает вопрос: нужно ли беспокоиться о безопасности потоков, когда эти объекты подключения могут обращаться к одному и тому же массиву? Или все эти методы делегатов возвращаются в основной поток таким образом, что вам не следует беспокоиться о безопасности потока?