Skip to content

Instantly share code, notes, and snippets.

View jorgecasariego's full-sized avatar
:bowtie:

Jorge Casariego jorgecasariego

:bowtie:
View GitHub Profile
fun main() = runBlocking {
println("Start")
val job = GlobalScope.launch {
delay(1000L)
println("Hello")
}
job.join()
println("Done")
fun main() = runBlocking {
println("Start")
GlobalScope.launch {
delay(1000L)
println("Hello")
}
delay(2000L)
println("Done")
fun main() {
println("Start")
// Start a coroutine
GlobalScope.launch {
delay(1000L)
println("Hello")
}
runBlocking {
interface Continuation<in T> {
val context: CoroutineContext
fun resume(value: T)
fun resumeWithException(exception: Throwable)
}
fun backgroundTask(param: Int, callback: Continuation<Int>): Int {
// long running operation
}
suspend fun backgroundTask(param: Int): Int {
// long running operation
}
fun main() {
println("Start")
// Start a coroutine
GlobalScope.launch {
delay(1000L)
println("Hello")
}
Thread.sleep(2000L)
fun main() {
println("Start")
Thread {
Thread.sleep(3000L)
println("Hello")
}.start()
println("Done")
}
// Dispatchers.Main
suspend fun fetchDocs() {
// Dispatchers.Main
val result = get("developer.android.com")
// Dispatchers.Main
show(result)
}
// Dispatchers.Main
suspend fun get(url: String) =
// Dispatchers.Main
// Dispatchers.Main
suspend fun fetchDocs() {
// Dispatchers.Main
val result = get("developer.android.com")
// Dispatchers.Main
show(result)
}
// look at this in the next section
suspend fun get(url: String) = withContext(Dispatchers.IO){/*...*/}