⚡️Вопросы с собесов
Сначала отвечай сам и только потом проверяй ответ 👇
Вопрос:
«В чём отличие корутин от future и task?»
Стек: Python
Ответ:
Корутина - это объект, возвращаемый асинхронной функцией. Она может выполняться асинхронно, приостанавливать и возобновлять своё выполнение при встрече с ключевым словом await.
Future - это низкоуровневый объект, который представляет собой «обещание» получить результат операции в будущем. Он хранит состояние асинхронной задачи: незавершённое, завершённое с результатом или завершённое с ошибкой. Future используется для передачи результатов между частями асинхронного кода, и его тоже можно ждать через await.
Task - это подкласс Future. Главное отличие в том, что при создании Task вы напрямую планируете выполнение корутины в цикле событий (Event Loop), а её результат уже сохраняется как Future.
💡 Краткий вывод: Корутина описывает логику асинхронных операций (что делать), Future представляет результат этих операций (что получилось), а Task является оберткой, которая планирует и запускает корутину в работу.
Пиши свой вариант ответа в комментарии 👇
Post #136
533
- ❤ 4
- 👍 1