Kotlin: Асинхронное программирование с корутинами

Часть 1:

Часть 2:

25 декабря 2017-го в петербургском офисе компании Oracle состоялась предновогодняя встреча с Романом Елизаровым, разработчиком языка Kotlin в компании JetBrains и экспертом в области многопоточного программирования.

Kotlin революционизирует асинхронное программирование. В версии 1.1 в языке появились корутины — это свежий, отличный от других языков подход к проблеме написания асинхронного кода. Доклад рассматривает этот механизм как сверху (чем он отличается от традиционных подходов таких как callbacks, futures, и async/await), так и изнутри — как всё это устроено.

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