Тёмный

Корутины в Kotlin на сервере (Роман Елизаров) 

JetBrains
Подписаться 201 тыс.
Просмотров 20 тыс.
50% 1

Роман Елизаров, разработчик языка Kotlin
Мы поговорим о традиционных проблемах масштабирования серверных приложений на JVM и о том, как их можно решить с помощью асинхронного кода, который теперь как никогда просто писать благодаря корутинам в Котлине. Мы увидим, как дизайн, основанный на корутинах и структурной многозадачности, позволяет избежать традиционных проблем асинхронного кода, связанных с управлением ресурсами, обработкой ошибок и отменой запросов.

Наука

Опубликовано:

 

25 апр 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 18   
@radiopapus
@radiopapus 9 месяцев назад
Спасибо огромное. Хотелось бы услышать харкорный доклад с техническими данными как реализованы корутины. Вот только часть вопросов, которые я хотел бы задать (прояснить). 1. Что означает фраза "корутина засыпает"? 2. Как система узнает, что результат получен и нужно разбудить корутину и дальше выполнить код, который в ней написан. Как все это увязано с ОС. 3. Есть ли концептуальные сходства между тем как работают корутины и прерывания? 4. Правильно ли я понимаю, что корутины дешевле потоков, так как внутри механизма лежит state машина, которая занимается менеджментом корутин. То есть иерархия примерно такая. Процесс -> поток -> корутина? 5. Как корутины лежат в Heap и почему их не зачищает GC?
@vitalyparhomenko7817
@vitalyparhomenko7817 4 года назад
Спасибо за отличный инструмент!
@konstantinchvilyov9602
@konstantinchvilyov9602 2 месяца назад
Спасибо, очень полезно и почти всё понятно.
@andrey7530
@andrey7530 4 года назад
спасибо за науку!!
@alexandervasuho3534
@alexandervasuho3534 3 года назад
Довольно понятно, но хотелось бы больше
@konstantinchvilyov9602
@konstantinchvilyov9602 2 месяца назад
Making with suspend pays off at scale - Создание с помощью приостановки окупается в больших масштабах
@maxmuranov8764
@maxmuranov8764 4 года назад
Можете подсказать, почему на 29:53 утечет память? Фьючер выполнится в своем потоке, главный тред упадет на первом await, а затем сборщик мусора соберет ненужные данные 2-го фьючера, т.к. ссылок на него больше нет. Разве не так?
@alexandr.b
@alexandr.b 4 года назад
Если я правильно понял мысль, то утечёт как бы действие) Ну т.е. падение первого вызова сервиса не означает прекращение работы над вторым. А он там мб много чего меняет, делает ещё какие-то запросы
@maxmuranov8764
@maxmuranov8764 4 года назад
@@alexandr.b понял, спасибо!
@azmo_
@azmo_ 9 месяцев назад
RIP Roman 🕊️
@davidsaribekyan6438
@davidsaribekyan6438 4 года назад
Илон маск
@Raymank26
@Raymank26 2 года назад
В реальной жизни всё не совсем так, как Роман рассказывает. Все потоки не заблокируются на медленном сервисе, как правило для этого реализуют circuit breaker и выводят тормозящий сервис из ротации. Блокирующий код всё ещё сильно проще писать, понимать и отлаживать. А проблемы в лекции достаточно успешно решаются.
@unpub2
@unpub2 2 года назад
че за хрень ты несешь
@DC-oz5ej
@DC-oz5ej 2 года назад
очень интересно, но слушать чавканье и эканье неприятно.
@theantferdy
@theantferdy 3 года назад
после suspend нихрена не понял. лучше потоками буду играть
@konstantinchvilyov9602
@konstantinchvilyov9602 2 месяца назад
unwind [ʌnˈwaɪnd] размотать
@konstantinchvilyov9602
@konstantinchvilyov9602 2 месяца назад
fibers [ˈfaɪbəz] ворсинки, волокна, волокнистые материалы fiber [faɪbə] волокно, нить, клетчатка; белок; световод; волоконный. fibre [ˈfaɪbə] волокно, нить, клетчатка
Далее
Лучший браузер!
0:27
Просмотров 286 тыс.
Новодельный ноутбук Pocket386
1:16:17
Samsung laughing on iPhone #techbyakram
0:12
Просмотров 5 млн