Доклад

А вы можете сказать, что все-таки такое «корутина» в Kotlin?

Зал 3

До сих пор считаете корутины в Kotlin легковесными потоками? Не знаете, как или почему корутины существуют вне kotlinx.coroutines? Тогда вы по адресу! Обсудим, что такое корутины в чистом Kotlin (без дополнительных библиотек!), и в качестве самого наглядного примера построим с помощью них свою функцию iterator { ... } из стандартной библиотеки Kotlin.

Главной целью будет дать определение корутины и строгое описание ее работы и внутреннего устройства. (Ничего из упомянутого, к сожалению, не сделано в документации. Всё из этого, кроме детального внутреннего устройства, есть только в спецификации.) А в конце обсудим, чем корутина не является. А часто их путают либо с легкими потоками в JVM, либо с инстансами типа Job (или говорят, что корутины как-либо иначе связаны с Job и структурным асинхронным программированием).

Доклад точно будет интересен тем, у кого Kotlin как-то существует в проекте, и тем, кому интересен язык (и в смысле «нравится, пользуюсь», и в смысле «заинтриговал, пока только рассматриваю»).

Спикеры

Расписание