A coroutine is a piece of work that can pause at a planned point and continue later from where it stopped. This lets a program switch to another task while it waits for something, such as information from the internet.
Imagine pausing a recipe while water boils, then returning to the same step once it is ready. The cook does not need to start the recipe over.
Coroutines can help a program handle waiting without freezing everything else. They are not the same as a separate process, and the exact way they work depends on the programming language.
