suspend funtions run on a seperate thread ?
If not, then what is the performance benefit ?

```
suspend fun requestToken():Token {..}  // takes 2 sec to complete
suspend fun createPost (token:Token){..} // takes 3 sec to complete

 suspend fun postItem() {
    val token = requestToken()
    val post =createPost(token)
    processPost(post)
  }

```

So, when we reach at **processPost(post)** and if suspend function do not run on a seperate thread then we have to wait for **requestToken()** and **createPost(token)** method
 to complete **(i.e 2+3= 5 seconds)**. As per the author, suspend is asyncronous,but if we are not spawning any new thread then how are we achieving asychronous behaviour ?