Я пишу некоторый код для синхронизации объектов между клиентом и сервером.Он включает в себя кучу HTTP-вызовов (которые я делаю не сам, а используя библиотеку Parse) с блоками для обратных вызовов.Я хочу дождаться завершения набора этих вызовов, а затем предпринять дальнейшие действия.По пути мне нужно где-то хранить результаты каждого вызова.
Самый простой способ, о котором я могу думать, - это сохранить счетчик и коллекцию - что-то вроде NSMutableArray или NSMutableSet.Каждый раз, когда операция HTTP завершается, я сохраняю ее результат в коллекции и увеличиваю счетчик.Затем я проверяю счетчик, и, если он равен общему количеству операций, я перехожу к следующему шагу.(Я предлагаю счетчик, а не размер коллекции, поскольку мне, возможно, не нужно хранить объект для каждого HTTP-вызова.)
Но я предполагаю, что сталкиваюсь с проблемами безопасности потоков: что происходит, когдадва вызова возвращаются одновременно, и оба пытаются добавить в коллекцию и / или увеличить счетчик?
Какое здесь решение?
Спасибо!