Попытка понять, почему создание и манипулирование фьючерсами плохая практика - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь понять будущее в Python, прочитав руководство PyMotW .

Вчера я задал вопрос , и в комментариях было указаночто:

Более серьезная проблема с руководством заключается в том, что создание и управление необработанными фьючерсами считается плохим стилем в современном асинхронном программировании.

Я попытался найти дополнительную информацию,но самое близкое, что я нашел, было в руководстве по Python о Future :

Практическое правило состоит в том, чтобы никогда не показывать объекты Future в пользовательских API, и рекомендуемый способ созданияобъект Future должен вызывать loop.create_future ().Таким образом, альтернативные реализации цикла событий могут внедрять свои собственные оптимизированные реализации объекта Future.

Вопрос:

Почему создание и манипулирование считается плохой практикойфьючерсы?Где-то задокументированы причины?

1 Ответ

0 голосов
/ 22 января 2019

Спасибо @ user4815162342, за предоставление ссылки на асинхронную / ожидающую презентацию Юрия Селиванова.

Мне удалось протянуть руку и спросить его. Вот что он сказал.

Предупреждение здесь, потому что Future - это низкоуровневый API. Вам следует использовать его для построения асинхронного / ожидающего фасада вокруг существующих на основе обратных вызовов код. Но если вы пишете асинхронный / ожидающий код с нуля, есть встроенные высокоуровневые API-интерфейсы async / await в asyncio, которые проще использовать (и менее подвержен ошибкам).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...