Sobes.tech
Junior — Middle

Can you explain the concept of structured concurrency in programming?

sobes.tech AI

Answer from AI

Structured concurrency is an approach to organizing parallel or asynchronous code, where the lifecycle of child tasks is strictly confined within the parent task. This means that all launched parallel operations must complete before the parent task finishes, simplifying error and resource management.

In Android, for example, when using Kotlin Coroutines, structured concurrency helps prevent coroutine leaks and ensures that all launched coroutines are canceled if the parent task is canceled.

Example in Kotlin:

runBlocking {
    launch { // child coroutine
        delay(1000)
        println("Task completed")
    }
    println("Parent task completed")
}

Here, launch starts a child coroutine, and runBlocking will not finish until all child coroutines are complete, ensuring structured concurrency.