Наконец-то кто-то коротко, емко и максимально понятно обьяснил все что касается многопоточности от Thread до корутин. Теперь все стало на свои места. Автору огромное спасибо!!!!!🤌🤌🤌🤌🤌🤝🤝🤝🤝
Очень понятно объяснил. Корутины перестали быть такими страшными - спасибо большое) Особенное спасибо за сравнение с Thread'ами и объяснение разницы - очень все доступно. Теперь с таким бэкграундом легче их изучать и вникать глубже.
Ребят, у меня вопрос возник. Вы пишете: GlobalScope.launch{ showProgress() val result = getResultFromServer(data) } В каком потоке это работает? Если это Main, то по идее будет freez, если Default, то как тогда можно работать с progress, ведь, по идее, нельзя менять ui не в Main?
Сама концепция корутин достаточно исковеркана. Попутаны понятия асинхронного кода и многопоточного. Много чего просто объясняется магией. Уже либо объяснять всё как подобает, либо просто сказать: пиши вот так и получишь такой результат.
Спасибо за работу, очень понятно обьясняет Георгий. Но есть один нюанс, GlobalScope не рекомендуется использовать, в данной документации можно ознакомиться с лучшей практикой от google по корутинам: developer.android.com/kotlin/coroutines?gclsrc=aw.ds&gclid=Cj0KCQiAzfuNBhCGARIsAD1nu-8FwVhMV6fGLeq2T0-oLRXJgSaZ7nxbr1Qdf-umOLxhEzyKW2PqOsUaAjyIEALw_wcB
Таймкоды:
0:54 - Причины применения многопоточности
2:40 - Какие операции выносить в параллельный поток
2:24 - Трудности многопоточного программирования
5:25 - Способы создания многопоточности в Android
6:13 - Thread
11:43 - AsyncTask
13:24 - Остальные способы создания параллельных потоков кратко
13:58 - Coroutine начало
21:11 - Coroutine job
22:38 - Coroutine dispatcher
26:25 - Coroutine scope
29:28 - Suspend функции
30:38 - Coroutine async
33:21 - Домашнее задание
Наконец-то кто-то коротко, емко и максимально понятно обьяснил все что касается многопоточности от Thread до корутин. Теперь все стало на свои места. Автору огромное спасибо!!!!!🤌🤌🤌🤌🤌🤝🤝🤝🤝
Спасибо Вам за такой чудесный урок!
такой формат вообще годнота, намного лучше чем в аудитории
Согласен. В 100 раз лучше.
очень круто! все достаточно подробно и по полочкам) продолжайте выпускать видео! большое спасибо!
Очень всё понятно объясняется. Спасибо!
Один из самых информативных докладов!
Очень понятно объяснил. Корутины перестали быть такими страшными - спасибо большое) Особенное спасибо за сравнение с Thread'ами и объяснение разницы - очень все доступно. Теперь с таким бэкграундом легче их изучать и вникать глубже.
Ну да, просто добавилась некоторая "магия", которая магическим образом всё пояснила.
Потрясающая лекция. Наконец всё понятно!!!
Спасибо за видео! Очень подробно и понятно объяснил
легко просматривается, круто )
Супер!
Спасибо за труд!
Классно объяснил!
Очень доступно👍🏼
охуедь вы чёткие ребята. спасибо большое.
Спасибо!
Очень крутая лекция, спасибо.
Интересно, насколько нормально использовать async/await в циклах, например для кучи вложенных запросов в сеть?
Отличное видео, спасибо!
27.57 «наследуем модель от скоупа»
Наверняка вы хотели сказать «реализует интерфейс корутинСкоуп»
Ребят, у меня вопрос возник. Вы пишете: GlobalScope.launch{
showProgress()
val result = getResultFromServer(data)
}
В каком потоке это работает? Если это Main, то по идее будет freez, если Default, то как тогда можно работать с progress, ведь, по идее, нельзя менять ui не в Main?
Это мейн поток поэтому юи будет менятся, но для getResultFromServer мы указываем другой поток с помощью withContext поэтому не будет никаких фризов
Сама концепция корутин достаточно исковеркана. Попутаны понятия асинхронного кода и многопоточного. Много чего просто объясняется магией. Уже либо объяснять всё как подобает, либо просто сказать: пиши вот так и получишь такой результат.
Формат крутой , разбор материала супер. Но пожалуйста попейте воды перед выступлением причмокивание просто невероятно раздражают
очень затянуто
Спасибо за работу, очень понятно обьясняет Георгий. Но есть один нюанс, GlobalScope не рекомендуется использовать, в данной документации можно ознакомиться с лучшей практикой от google по корутинам: developer.android.com/kotlin/coroutines?gclsrc=aw.ds&gclid=Cj0KCQiAzfuNBhCGARIsAD1nu-8FwVhMV6fGLeq2T0-oLRXJgSaZ7nxbr1Qdf-umOLxhEzyKW2PqOsUaAjyIEALw_wcB