A normal function runs start to finish without pause. A suspend function can pause at a suspend point and later resume where it left off while the underlying thread does other work. That is not runtime magic: the Kotlin compiler rewrites suspend functions into a state machine that carries a continuation — the object that remembers how to continue.
What suspend means