Занятие 8.1: Многопоточность в iOS. Часть 1.

preview_player
Показать описание
На этом занятии мы познакомимся с многопоточностью в iOS и разберем GCD для работы с ней.

00:00 - Многопоточность в iOS
1:15 - Что такое многопоточность?
10:14 - Инструменты для работы с многопоточностью в iOS
16:32 - Введение в Grand Central Dispatch (GCD)
19:17 - GCD в коде.
25:00 - Тестирование порядка выполнения кода используя DispatchQueue (типичные задачки на понимание работы потоков)
36:40 - QualityOfService при рабоет с GCD
38:36 - Пробуем использовать asyncAfter с кложуром и DispatchWorkItem
50:40 - Создание своей очереди используя GCD
57:15 - Использование DispatchGroup
Рекомендации по теме
Комментарии
Автор

Отличная лекция, спасибо! Похоже, что айтемы отменяются на 49 минуте по аналогии с начальными заданиями с принтами. Переключение контекста достаточно долгое, поэтому айтемы просто еще не успевают запуститься, почти мгновенно выполняется следующий код на главной очереди (async уже выполнится после не очень большого количества быстрых операций, его мы как бы пролетаем, но для более длительных операций уже все будет нелинейно)

dxhmsmj
Автор

По всему видео есть путаница между потоками и очередями. Thread != Queue. В GCD мы оперируем Queues (очередями). А ОС сама определяет каким потоком (Thread) будет взята очередь (Queue). Уверен, что автор это понимает очень хорошо, просто оговорки на автомате. Но тех, кто обучается, это может запутать.

andreifokin