Coroutine
In plain terms
A function that can pause and resume, enabling cooperative multitasking.
Going deeper
Coroutines suspend their execution and yield control, then resume where they left off, making lightweight concurrency cheap. They underpin modern async runtimes.
Under the hood
Unlike threads, they're cooperatively scheduled and very lightweight; they power async/await and generators.
Examples
Kotlin coroutines, Python async/generators, Go goroutines, C# async.
Think of it like...
Like bookmarking a novel to handle something else, then continuing exactly where you stopped.