Наконец-то кто-то коротко, емко и максимально понятно обьяснил все что касается многопоточности от 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