Что такое корутины? [RU] / Мобильный разработчик

Это видео - это перевод одной крутой статьи. Ссылка на статью прикреплена ниже
Внимание! Видео хранится очень долго, а технологии не стоят на месте, поэтому если, вдруг, что-то отличается в современных реалиях - пишите комментарии )
Полезные ссылки в видео -
Статья - proandroiddev.com/understandi...
Напоминаю, что видео вначале выходят для моих патронов. Стать патроном можно по ссылке ниже
===========================================
Стать Патроном канала и получить доступ к уникальному материалу
/ mobiledeveloper
===========================================
Мобильный разработчик в других соц. сетях
=======================
Вконтакте - mdeveloper
Instagram - / nplau
=======================
Ставь лайк и расскажи друзьям, чтобы они тоже попробовали эту технологию

Пікірлер: 135

  • @nightscream3687
    @nightscream36874 жыл бұрын

    Спасибо, было интересно. Да, если это не занимает много времени, перевод таких статей и высказывание своих мыслей хорошо заходит, буду ждать еще.

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Хорошо, спасибо )

  • @annaumova
    @annaumova4 жыл бұрын

    С днем Рождения, Алексей! Нижайший Вам поклон за ваш труд, за созидание такого качественного контента. Каждое видео - на вес золота.

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо большое!)

  • @user-if8jq5cx7p

    @user-if8jq5cx7p

    4 жыл бұрын

    Спасибо, Леша, определенно стоит делать подобные видео. Пригодится на собеседовании) ну и с днюшкой тебя!) Всех благ😘

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо )))

  • @user-zo6pt5su7m

    @user-zo6pt5su7m

    4 жыл бұрын

    Если так, то присоединяюсь к поздравлениям

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо ))

  • @sergeikarukes3662
    @sergeikarukes36624 жыл бұрын

    Видео полезное, спасибо, жду ещё, С Прошедшим Днём Рождения!

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо большое! )

  • @user-zo4ml2mg2s
    @user-zo4ml2mg2s4 жыл бұрын

    Видео отличное, было б здорово если б на практике показал применение корутин) И да С Днем Рождения!!!

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Есть вроде в каких то других видео ) спасибо большое )

  • @nickolasivantsov260
    @nickolasivantsov2603 жыл бұрын

    Спасибо за перевод и обьяснения. Однозначно стоит делать такие вот видео.

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Спасибо! )

  • @goqorism
    @goqorism4 жыл бұрын

    Спасибо большое за видео,самый лучший канал,которую когда либо я встречал.

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо ))

  • @user-qw6qn5rj9p
    @user-qw6qn5rj9p3 жыл бұрын

    Статья полезная, если подобные статьи будут выходить и далее - очень помогут в понимании сложных и важных тем. Спасибо, Алексей!

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Спасибо!

  • @dasturchi_kasbi
    @dasturchi_kasbi4 жыл бұрын

    С прошедшим днем рождения дорогой автор!

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо большое!

  • @kafychannel
    @kafychannel3 жыл бұрын

    И формат у вас замечательный!!!

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Спасибо)

  • @user-tj1wy4tm3i
    @user-tj1wy4tm3i4 жыл бұрын

    нихера не понял, но очень интересно ))

  • @tov3801
    @tov38012 жыл бұрын

    Было полезно. Спасибо большое!

  • @mikenaumov
    @mikenaumov4 жыл бұрын

    Спасибо за видео! Познавательно и полезно.

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Пожалуйста :)

  • @user-ge1fh8xl2v
    @user-ge1fh8xl2v2 ай бұрын

    Хороший перевод

  • @maksimkolosov5076
    @maksimkolosov50763 жыл бұрын

    Алексей, спасибо большое! Да, стоит переводить и другие статьи

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Хорошо, учту спасибо ))

  • @bulletecho1077
    @bulletecho10772 жыл бұрын

    Крутой канал

  • @sonar_devices
    @sonar_devices4 жыл бұрын

    Хорошая идея с переводом полезный статей. Пишу на котлине и использую корутины.

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо )

  • @Xisofix
    @Xisofix4 жыл бұрын

    Хорошее видео, прибавило понимания, спасибо) Правда некоторые моменты до сих пор воспринимаются как магия

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Да, не без этого )

  • @user-qu6mb9il6w
    @user-qu6mb9il6w4 жыл бұрын

    Крутая статья! Не хотел смотреть, думал что давно понял, что такое корутины. Ан нет, оказалось - не понимал. По поводу дальнейших публикаций интересных статей - очень хорошая идея.

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо!)

  • @user-ro6cj6fq6o
    @user-ro6cj6fq6o3 жыл бұрын

    Спасибо!

  • @Woker2k20
    @Woker2k202 жыл бұрын

    Стоит. Спасибо

  • @tyt66612
    @tyt666124 жыл бұрын

    Делай) 👍

  • @jessicalang3654
    @jessicalang36544 ай бұрын

    Пока искала кофе ролик уже закончился

  • @user-fm2jm2yd5n
    @user-fm2jm2yd5n3 жыл бұрын

    Реально хорошая статья. Некоторые вещи понятны были, на каком-то подсознательном уровне и я не мог их объяснить.

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Рад, что помогло )

  • @kirillsushilnikov9614
    @kirillsushilnikov96143 жыл бұрын

    Спасибо за видео. В этот раз не успел чай попить.

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Печаль (

  • @kovalevvvvv
    @kovalevvvvv2 жыл бұрын

    Спс что смог налить воды в 13мин видосе добавляя термин и расшифровывая его, вместо того чтобы разговаривать просто xD. Ору с 8:22

  • @user-zo6pt5su7m
    @user-zo6pt5su7m4 жыл бұрын

    Я тут 2й или 3й месяц на твоих видосах расту, но я еще совсем зеленый, весна на сердце, каждый день весна ну ты понял :D Спасибо за твои ролики!

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    )) понял ) я помню лет 6-7 назад на вашем канале нашёл видео про не ту дыру ) ржал тогда как конь )

  • @user-zo6pt5su7m

    @user-zo6pt5su7m

    4 жыл бұрын

    @@MobileDeveloper ох а это такая случайность вообще. Просто вк тогда подключил и не хотел видос прогружать. Пришлось акк на ютубе создать, залить сюда. а через несколько лет захожу и у меня глаза на лоб полезли там было неск миллионов просмотров.

  • @Flutter-iOS-Developer
    @Flutter-iOS-Developer4 жыл бұрын

    Привет Алексей! Отлично рассказываешь, делаешь полезные видео, которые интересно смотреть, очень круто! Пробовал ли ты технологию Flutter, что думаешь про неё? Если разбираешься, не думал ли делать видосы по использованию этого SDK? Буду рад, если ответишь, спасибо!

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо большое )) пользовался Флаттером даже аппку написал по приколу ) но сейчас нет времени этим заниматься, однако, очень хотелось бы видео снять )

  • @Flutter-iOS-Developer

    @Flutter-iOS-Developer

    4 жыл бұрын

    @@MobileDeveloper Спасибо за ответ. Разрабатываю на Flutter я не так долго, чтобы этому учить, но если нужна будет какая-то помощь или комментарий по нему, то буду рад помочь). Удачи!

  • @mr-re1ax
    @mr-re1ax Жыл бұрын

    🔥🔥🔥

  • @maksonic_official
    @maksonic_official4 жыл бұрын

    Вот это тема!

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо )

  • @georgeigoncharik6639
    @georgeigoncharik66394 жыл бұрын

    Вчера ехал на дом загородный и слушал IT talks. Так заслушался, что съезд с трассы пропустил и ещё несколько км успел проехать. У вас получается завлечь слушателя. С днём рождения! Upd: извиняюсь за тавтологию

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо большое ))

  • @-Alexey-
    @-Alexey-2 жыл бұрын

    Спасибо. А было бы здорово, если бы показали преимущество корутин на практике. Например какой-нить апи с коллбэками переделать под коррутины.

  • @MobileDeveloper

    @MobileDeveloper

    2 жыл бұрын

    Думаю отдельное практическое видео сделать по корутинам, но чет их так много уже и так все разжевано, что не уверен нужно ли оно

  • @mrtwon8638
    @mrtwon86382 жыл бұрын

    👍👍👍

  • @MrLOLs1
    @MrLOLs14 жыл бұрын

    Спасибо

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Пожалуйста :)

  • @romanfedorov7638
    @romanfedorov76384 жыл бұрын

    Спасибо за обзор, очень полезно А может ли быть такое, что delay() первой функции закончится раньше, чем успеет отработать вторая? или они передают управление только по точкам остонова?

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Они передают управление по точкам остановки, но вполне может быть такое, что вторая функция даже с точкой остановки отработает быстрее ) однако корутина закончит работу тогда же когда и последняя suspend функция

  • @romanfedorov7638

    @romanfedorov7638

    4 жыл бұрын

    @@MobileDeveloper Понял) почему-то подумал, что возможна ситуация одновременного выполнения двух функций в пределах одного потока. Тогда бы они наверное стали работать в условиях конкурентности, а это не есть хорошо, особенно с перспективой роста колличества таких одновременно выполняемых функций

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Угу тут маленько другая концепция )

  • @maxim.hnatiuk
    @maxim.hnatiuk4 жыл бұрын

    Очень понятно и грамотно. Хотелось бы уточнить: То есть корутина прерывается и даёт работать другой корутине, потому что вызывает у себя delay() на какое-то время, которое каждый раз разное? Может я не правильно понял, буду благодарен, если поправите) Спасибо за видео)

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Не совсем ) delay это частный пример операции с задержкой ) но в остальном да она доходит до точки остановки и возвращает обратно контроль вызвавшей ее стороне

  • @user-jr5hw4gx1y
    @user-jr5hw4gx1y3 жыл бұрын

    Спасибо, даже читать не надо статью, всё чётко

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Спасибо )

  • @oleg12395
    @oleg123952 жыл бұрын

    Теперь вопрос, как можно вывести байткод как на 9:26 ? Пробую Tools->Kotlin->Show Kotlin Byte Code но получается абракадабра непонятная

  • @alexandernifanin7366
    @alexandernifanin73664 жыл бұрын

    Пару лет программирую на корутинах и с радостью ушёл от RxJava. Как по мне, „реактивщина“ не так проста для понимания и программирования, как корутины. Особенно не нравились юнит-тесты. Поэтому перешёл и ни разу не пожалел. Никаких десятков функций со всякими подводными камнями. Всё как в нормальном программировании, гды сам решаешь, какая команда следует за какой. Корутины для Котлина гораздо обширнее в плане материала, сейчас там появились новые сущности. Пока я воспринимаю всё как магию, и это не мешает мне писать код. Не разбираюсь, почему и как работают потоки, почему что-то приостанавливается и когда возобновляется, ну и ничего страшного. Узнал, что корутины встроены в JetPack (lifecycle). Это прекрасно!

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Да есть много вопросов ) Как я уже не раз говорил Rx - это в целом отдельная парадигма разработки и относиться к ней нужно именно так, а не как к способу решения простых асинхронных задач ) Вот у нас сейчас в Леруа как раз на Rx сделано вообще все - есть свои аналоги viewmodel, lifecycle, rxclicks и так далее и так далее. И я уже вижу в этом проблемы. Тем более в корутинах появился Flow и вообще хорошо стало )

  • @user-ff6hu3kw7j
    @user-ff6hu3kw7j4 жыл бұрын

    Привет! Спасибо за видео! Не могли бы поделиться видением на перспективы мобильной разработки? Есть мнение что пользователям не нужно ничего кроме 20 приложений

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    О, на этот вопрос можно ответить слишком развернуто, запишу видео

  • @onegin5129
    @onegin51293 жыл бұрын

    Есть предложение (просьба :D) сделать видео по Retrofit 2 с использованием корутин и обработке возможных ошибок, без умения понимать зарубежные статьи легче в окно выйти чем разобраться

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Хорошо, подумаю, спасибо)

  • @user-qx1mz8wf2d
    @user-qx1mz8wf2d Жыл бұрын

    Так а если запустить тяжелую задачу в корутине на главном потоке она все равно зафризит UI?

  • @karengozeyan2065
    @karengozeyan20654 жыл бұрын

    Будет ли видео про kotlin coroutines поподробнее?

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Будет но не совсем в привычном формате )

  • @appngo6374
    @appngo63743 жыл бұрын

    Добрый день. Спасибо за видео, очень интересно рассказываете. Услышал один момент, который мне непонятен. Работают ли все корутины на одном главном потоке или все-таки на пуле из потоков?

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Спасибо ) Они могут работать и на главном потоке и на пуле из потоков, в зависимости от контекста, который вы укажете

  • @appngo6374

    @appngo6374

    3 жыл бұрын

    @@MobileDeveloper ага, я так понял, что если назначаем MainCoroutineDispatcher, то работа происходит на мейне. Если же на одном из других, то на одном из пулов (IO, Common, Uncofined)

  • @kafychannel
    @kafychannel3 жыл бұрын

    Ну что, есть ли где - нибудь песенка? На каком - нибудь ресурсе, я потёк)))))

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Уже выложил )

  • @vitaliy2020
    @vitaliy20203 жыл бұрын

    Прочитал статью оставленную автором и на хабре, где чел реализовывал корутины в java. В основе корутин, я так понял лежат Генераторы,Итераторы,Continuation. Общий принцип основан на возможности функции возвращать несколько значений(Принцип работы Генератора), то есть мы можем выполнять код в функции до определенной строки, затем останавливаемся на некой точки останова и возвращаем значение(в Питоне эти ключевые слова называются yield) обратно откуда вызывали нашу функцию, затем у нас есть возможность продолжить выполнять нашу функцию на том месте где мы остановились до этого(Это реализовывают Iterator, Continuation), итератор к слову бегает по нашим точкам останова. В месте с тем корутины работают еще и с потоками, тоесть внутри корутин можно организовывать потоки для более тяжелых задач, я правильно понял? поправьте если что-то не так?

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Типа того, там state машина, которая разбивает на n равное suspend points частей и по ним происходит перемещение ) если я опять же правильно понял объяснение Ильмира )

  • @vitaliy2020

    @vitaliy2020

    3 жыл бұрын

    @@MobileDeveloper спасибо, честно говоря, как новичку ,который начинал с С++(не погружался в него сильно) и перейдя на java(более менее освоив его) концепцию корутин понять не просто из-за того, что в java нет аналогов, которые проясняют концепцию корутин, но тем кто начинал с Питона, будет гораздо яснее, что представляют из себя корутины

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Скоро будет нечто похожее в Java ) погуглите Project Loom

  • @vitaliy2020

    @vitaliy2020

    3 жыл бұрын

    И еще вычитал, что state machine(Автоматы в русской интерпретации) люди реализуют на плюсах, так , что по идее те, кто с этим имел дело, без труда поймет как работают корутины, ведь считай они заранее знают основу корутин изнутри получается

  • @vitaliy2020

    @vitaliy2020

    3 жыл бұрын

    @@MobileDeveloper спасибо, прочитаю, в данный момент интересуюсь больше Котлином, так как в Андроиде он делает код лаконичным и читаемым, в общем попал я в переходное время, когда работодателя хотят и Котлин с корутинами и java с rx).учиться еще много, а работу пока первую не нашел(

  • @stasgermanov3709
    @stasgermanov3709 Жыл бұрын

    Зачем вырубать заставку между примерами?

  • @kafychannel
    @kafychannel3 жыл бұрын

    Что песня играет вначале видео?

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Написал мой близкий друг, специально для этого видео

  • @kafychannel

    @kafychannel

    3 жыл бұрын

    @@MobileDeveloper топовая, заела, в интернете можно скачать?)

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Пока нет, но в процессе выкладывания на всякие ресурсы

  • @oleg12395
    @oleg123952 жыл бұрын

    А как добавить корутиновские зависимости не в студию, а в простую идею ?

  • @oleg12395

    @oleg12395

    2 жыл бұрын

    добавил гредл зависимости и все теперь работает implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1")

  • @user-oc7py1vy6s
    @user-oc7py1vy6s4 жыл бұрын

    Лучше без переводов... Если есть классная статья лучше кинуть её в чатик телеграмма или сообщество. 10:53 это Вы не могли понять и полезли в исходники или автор статьи?

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Автор статьи )

  • @user-pt6gy1uk7x
    @user-pt6gy1uk7x2 жыл бұрын

    начало с 3:54

  • @vadimosovsky
    @vadimosovsky4 жыл бұрын

    Алексей, где Флаттер?

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Да вот все не успеваю никак

  • @AntonParonko
    @AntonParonko4 жыл бұрын

    Не зря в 6 утра встал 😂

  • @annaumova

    @annaumova

    4 жыл бұрын

    аналогично

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Спасибо ))) Анна вы же на патреоне есть там это видео две недели назад появилось )

  • @elron2010
    @elron20104 жыл бұрын

    1. Как будет выглядеть код если использовать suspend-функцию без delay() ? 2. Как будет выглядеть код если использовать функцию delay() без suspend-функции ?

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    delay вы не сможете использовать без suspend функции, потому что delay сама по себе suspend, а suspend можно использовать только внутри suspend. Что касается первого вопроса, то если вы внутри будете использовать другую suspend функцию, то она точно также будет разделена на точки остановки.

  • @noraltavir
    @noraltavir4 жыл бұрын

    Корутины вообще не про потоки. Я думаю, что вся концепция "легковесных потоков" вредная. Правильно говорить про синхронный и асинхронный код. Как он там на потоки бьется - дело десятое. Если говорить про ментальные модели, то можно себе представить себе синхронный код как прямое направление времени, а асинхронный код, как обратное направление времени (колбэк пишется перед тем кодом, в ответ на который он выполняется). Корутины позволяют нам "запускать время назад" и смотреть на инвертированную колбэчную модель как на прямую. Модель со встречными потоками кстати позволяет хорошо объяснить всякие проблемы, которые возникают, когда у нас синхронный код взаимодействует с асинхронным. Если кому будет интересно, можем записать потом короткий разговор на эту тему. Статью писать сил нет.

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Я думаю надо поговорить ) там как раз в статье автор и говорит о том, что вот эти якобы легковесные потоки это очень вредная концепция которую изначально сказали просто, чтоб объяснить о чем вообще эта технология) я думаю надо обязательно про это поговорить, потому что очень редко понимание встречается )

  • @noraltavir

    @noraltavir

    4 жыл бұрын

    @@MobileDeveloper Indeed. Если еще рядом Loom, который вот действительно про легковесные потоки и у народа в голове путанница. Важно понимать, что корутины в целом не про параллельное программирование и именно для гомогенных параллельных вычислений - это вероятно не лучшее решение.

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Ну у нас больше здесь в разрезе мобильных приложений все ) а у нас прям параллельных вычислений не много ) чаще наоборот получить запрос после ещё запрос и показать результат )

  • @nikitakhrushchev509
    @nikitakhrushchev5094 жыл бұрын

    Блин всегда хотел переехать с Rx, но толкового за и против не мог всегда найти (((

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Ну на мой взгляд если уже все написано то и переезжать особо пока смысла нет. Разве что конкретный план есть. А новый я бы с корутин начинал. Они эффективнее по памяти и производительнее )

  • @nikitakhrushchev509

    @nikitakhrushchev509

    4 жыл бұрын

    @@MobileDeveloper ну чисто ради интереса раньше смотрел разницу по скорсти между корутиной и RX, в итерации к 1 милиону и выводу данных в консоль. Да разница есть но не оссобенно. Но в общем да - если легаси кончится, то будет только котлин + корутины.

  • @random_ni
    @random_ni4 жыл бұрын

    8:30 пропустил оговорку на монтаже

  • @user-zo6pt5su7m

    @user-zo6pt5su7m

    4 жыл бұрын

    8:18 если точнее, но я чет уганрул)

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Хаха точно ) бывает такое ( постараемся больше не допускать

  • @user-li9be3jj3z
    @user-li9be3jj3z Жыл бұрын

    Ну так-то видео пили плохое

  • @theprogrammer256
    @theprogrammer2563 жыл бұрын

    Малопонятный вдребезги ролик ( Тема нужная и интересная но видео откровенно неудачное

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Многие в комментариях не согласны с вами, но как говорится у вас есть право на своё мнение )

  • @theprogrammer256

    @theprogrammer256

    3 жыл бұрын

    @@MobileDeveloper Алексей, извините. Забыл сказать главное - спасибо вам за видеоуроки! Уроки по RxJava мне очень помогли. Смотрю все ваши ролики. Отличный канал! Ну один ролик не зашел - бывает. Всем не угодишь :)

  • @MobileDeveloper

    @MobileDeveloper

    3 жыл бұрын

    Согласен, бывает ) рад, что ролики помогают )

  • @Ast991
    @Ast9914 жыл бұрын

    Как всегда много воды и мало толку

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Жду вашего видео, чтобы поучиться у вас )))

  • @maxim.hnatiuk

    @maxim.hnatiuk

    4 жыл бұрын

    @@MobileDeveloper он создал Jarvis'a, корутины для него семечки:)

  • @MobileDeveloper

    @MobileDeveloper

    4 жыл бұрын

    Да уж прошу прощения 😂

  • @Ast991

    @Ast991

    4 жыл бұрын

    @@maxim.hnatiuk корутины не гибкие по сравнению с той же рыксой. "Легковестность" - это сказки. А предлог, сними видео, а потом комментируй как минимум глупый. Автор или сам не понимает как это работает, или не умеет просто обьяснить сложные вещи.

  • @maxim.hnatiuk

    @maxim.hnatiuk

    4 жыл бұрын

    @@Ast991 лично мне было все понятно.

  • @oleg12395
    @oleg123952 жыл бұрын

    import kotlinx.coroutines.async import kotlinx.coroutines.delay import kotlinx.coroutines.joinAll import kotlinx.coroutines.runBlocking fun main() = runBlocking { println("Main start") joinAll( async { coroutine(1, 3000) }, async { coroutine(2, 300) } ) println("Main end") } suspend fun coroutine(number: Int, delay: Long){ println("Routine number $number starts work") delay(delay) println("Routine number $number finished") } //Что может быть не так ?

  • @oleg12395

    @oleg12395

    2 жыл бұрын

    део было в зависимостях implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1")

  • @alexeykrachkovsky8454
    @alexeykrachkovsky84542 жыл бұрын

    Очень полезно! Спасибо!

Келесі