Junior — Middle
Wat zijn coroutines en welk concept implementeren ze in programmeren?
sobes.tech AI
Antwoord van AI
Coroutines zijn lichte threads of functies die hun uitvoering kunnen pauzeren en later hervatten, waardoor het schrijven van asynchrone en niet-blokkerende code eenvoudiger en begrijpelijker wordt.
Ze implementeren het concept van coöperatief multitasken, waarbij de controle tussen coroutines expliciet wordt doorgegeven en niet afgedwongen door het besturingssysteem. Dit maakt efficiënt gebruik van bronnen mogelijk en vereenvoudigt het werken met asynchronie.
Voorbeeld in Kotlin (Android):
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000L)
println("Coroutine voltooid")
}
println("Programma gestart")
}
Hier start launch een coroutine die 1 seconde pauzeert zonder de hoofdthread te blokkeren.