примеру внутри suspend функции отправляю запрос на сервер, соответственно на время запроса стейт функции отправляется в кучу и поток освобождается, но как тогда корутина узнает что сервер ответил? Я так понимаю под капотом всё-таки блокируется поток на ожидание ответа ?
не блокируется
Ок, а как именно тогда это работает внутри, можно где почитать, посмотреть? Гугл на эту тему не помог
ну либо выполнение запроса трансферится на другой поток, и в первый поток после выполнения переходит. это если использовать withContext. либо асинхронно, я не знаю как объяснить это, просто всё это делается не блокирующе, а эмитя частичный результат и отпуская поток для выполнения других задач. может кто получше объяснит :)
По колбэку узнает. Если вы отправляете блокирующий запрос без колбэка, то блокируется.
Обсуждают сегодня