DEV Community

Tanya Fesenko
Tanya Fesenko

Posted on

Cheatsheet: How to Launch a Kotlin Coroutine

Kotlin coroutines are a lightweight alternative to Java threads. They make writing asynchronous code easy ...when you know how to use them. Coroutine scope, context, dispatchers… These terms seem confusing and even intimidating. This cheatsheet aims to fix this confusion and provides a three-step routine to launch coroutines accompanied with code examples.

Cheatsheet

How to launch a Kotlin Coroutine Cheatsheet

Code Examples

runBlocking { // launch a new job launch() - it does NOT return a result val job = launch { println("Binary representation of 2 is ${Integer.toBinaryString(2)}") } // let's wait until the first job is done job.join() // async: returns a result val tenInBinary = async { Integer.toBinaryString(10) } println("Binary representation of 10 is ${tenInBinary.await()}") // let's launch several tasks at once! coroutineScope {// create a new coroutine scope for structured concurrency val numbersForBinaryConversion = listOf(42, 170, 682) // arbitrary numbers numbersForBinaryConversion.map { launch { // launches a job without a result println("Binary representation of $it is ${Integer.toBinaryString(it)}") } }.joinAll() // waits for ALL jobs in tghe list } } 

Top comments (1)

Collapse
 
mjpasx profile image
mj πŸ‘©πŸ»β€πŸ’»βœ¨

Thanks for this! I'm still trying to figure coroutines out and this definitely helps a lot.