Pablo
02/01/2021, 9:43 AMsuspend fun
for dummies? I mean, if you would have to explain what is a suspend
for someone that is completely new on this world of coroutines what would be your answer?Lukas Sztefek
02/01/2021, 9:44 AMPablo
02/01/2021, 9:45 AMLukas Sztefek
02/01/2021, 9:51 AMNiklas Gürtler
02/01/2021, 9:54 AMPablo
02/01/2021, 10:04 AMNiklas Gürtler
02/01/2021, 10:09 AMPablo
02/01/2021, 10:17 AMNiklas Gürtler
02/01/2021, 10:20 AMPablo
02/01/2021, 10:29 AMNiklas Gürtler
02/01/2021, 10:53 AMVivek Sharma
02/01/2021, 10:57 AMPablo
02/01/2021, 12:05 PMsuspend fun foo() : String {
val bar = withContext(Dispatchers.Default) { BigInteger.probablePrime(4096,Random())}
}
fun main () {
CoroutineScope(Dispatchers.Unconfined).launch{
print("example1")
print("example2")
print("example3")
print(foo())
print("example4")
print("example5")
print("example6")
}
}
Niklas Gürtler
02/01/2021, 12:06 PMwithContext
waits for the stuff inside to completePablo
02/01/2021, 12:07 PMNiklas Gürtler
02/01/2021, 12:09 PMrunBlocking
fun main () {
runBlocking {
CoroutineScope(Dispatchers.Unconfined).launch{
print("example1")
print("example2")
print("example3")
print(foo())
print("example4")
print("example5")
print("example6")
}.join()
}
}
Pablo
02/01/2021, 12:18 PMNiklas Gürtler
02/01/2021, 12:19 PMfun main () {
runBlocking {
coroutineScope(Dispatchers.Unconfined) {
launch { ... }
launch { ... }
}
}
}
Vivek Sharma
02/01/2021, 12:22 PMfun main() = runBlocking<Unit> {
launch {
for (i in 1..10){
delay(200)
println("I am not blocked")
}
}
println(doSomething())
}
suspend fun doSomething(): String {
println("doing something")
delay(2000)
// Thread.sleep(3000)
return "something done"
}
Pablo
02/01/2021, 12:23 PMVivek Sharma
02/01/2021, 12:23 PM