Как только темы по сложнее - сразу лайков по-меньше:), спасибо. Все понятно объяснили!
@ВладСтрашинский-м2т2 жыл бұрын
Очень толково 👍
@MegaDigri6 жыл бұрын
Очень полезно, особенно в работе с URLSession 🔝
@TheNeur04 жыл бұрын
У меня в playground в последнем примере с SafeArray каждый раз разный результат, количество элементов всегда 10, но порядок разный.
@VladimirKim-cl3rh Жыл бұрын
в concurrentPerform всегда будет параллельная запись в массив, как не крути, название говорит само за себя
@mak_whisk3 жыл бұрын
Спасибо
@andreifokin311 Жыл бұрын
К сожалению, есть огрехи в данном подходе. на 14:05 посмотрите в консоль.
@enzo05084 жыл бұрын
А зачем вызывать чтение массива синхронно, если есть барьер? Ведь барьер останавливает все запросы, синхронные и асинхронные? На чтение данных разве нужно накладывать ограничения кроме барьера во время записи?
@r00t672 жыл бұрын
На самом деле я также подумал и даже постави лайк, но там ситуация такая, что если вызывать async, то у нас return будет срабатывать не дожидаясь когда отработает async кложура (result = self._elements). Я потестил у меня получается следующий результат. При таком коде var elements: [Element] { var result: [Element] = [] queue.async { result = self._elements } return result } На принте RaceCondition
@r00t672 жыл бұрын
А вот при таком коде, даже raceCondition не происходит, постоянно принтиться пустой массив var elements: [Element] { var result: [Element] = [] queue.async { [weak self] in guard let self = self else { return } result = self._elements } return result }
@jandeveloper6 жыл бұрын
А будут ли уроки по Opertaion?
@theswiftdevelopers13016 жыл бұрын
пока не знаю
@sanchezcodez9359 Жыл бұрын
Спасибо!
@mikhailrosl77062 ай бұрын
чем отличается от семафора с выставленным пропуском на единицу - так и не понял(
@7Burnst6 жыл бұрын
Добрый день. Видеоуроки еще выходят, классно)) В выходные пересмотрю все ваши ролики, но сейчас интересует вопрос о том, как дергать С из Swift. У меня есть предложение темы урока: UnsafePointers - что это, виды и как это использовать. Не зная Swift/Objective-C и истории их развития как-то сложно пробираться в эту сторону. Было бы здорово, если бы вы дополнительно рассказали о том, как правильно подключить статическую библиотеку non-fat архитектуры arm64 к проекту приложения под iOS, в Xcode слишком много настроек, пока не разобрался с этим вопросом. И да, большое спасибо за вашу работу))
@theswiftdevelopers13016 жыл бұрын
спасибо но мне это не интерестно
@zslavman5 жыл бұрын
Поясните пожалуйста такую вещь, возможно и у других такой вопрос возникнет: метод DispatchQueue.concurrentPerform(iterations: 10) запускает свое замыкание, в данном случае это self.array.append(value), в параллельном потоке. Внутри же самого метода append(_ value:T) так же идет запуск уже в другом параллельном потоке. Вопрос - как это понимать? Это некий вложенный параллельный поток??
@theswiftdevelopers13015 жыл бұрын
вы тут работаете с очередями система сама решает сколько потоков парралельно открывать
@zslavman5 жыл бұрын
@@theswiftdevelopers1301 понял, спасибо!
@shurale852 жыл бұрын
уточните, пожалуйста, зачем делать конарент очередь, если запись идет через барьер? чтобы чтение ускорить? Делал в ТЗ массив как Ваш, у оценщиков возник такой вопрос,
@gabibli3 ай бұрын
Да, чтобы ускорить чтение
@theswiftdevelopers13014 жыл бұрын
Куда присоединиться: 1.Наше сообщество в вк(добаляемся к более 3,5 тыс) = vk.com/theswiftdevelopers 2.В телеграмме мы помогаем новичкам и всем желающим (нас больше 1,500 тыс) - t.me/joinchat/BAn0BkLMGrfpDYy2cnysNg p.s Домашние задание: смотрите в группах! Если все понравилось ты знаешь что делать;) Ставь лайк и пиши комент! :)
@Younkin Жыл бұрын
time 14:06 все у нас хорошо, но что-то пошло не так))))
@matthewkraev6 жыл бұрын
Евгений, огромное спасибо за уроки! Очень хорошо обучаете! Хотелось бы 2 момента уточнить... Когда воспроизвел ваш код у себя, не всегда массив выводится правильно, иногда немного перемешивается несколько цифр... Это критично? Можно ли какао сделать чтобы они приходили по порядку? и второй вопрос, будет ли может в каком то уроке использование Label, часто их используем но при этом я так понимаю за счет них можно как то работать с этими очередями.. Будет ли какой то урок где вы покажете пример? P.S. Еще раз огромное спасибо за Ваш труд!
@theswiftdevelopers13016 жыл бұрын
то что перемешиваеться не страшно главное что б все элементы пришли
@zslavman5 жыл бұрын
т.е., то что в замыкании queue.async(flags: .barrier) то и будет защищено от одновременной записи/чтения с разных потоков?