Сопровождают ли Python сопрограммы в проекте? - PullRequest
8 голосов
/ 23 апреля 2011

Я прочитал эту страницу о сопрограммах от Дэвида Бизли некоторое время назад, и мне стало интересно, использует ли их какое-либо реальное программное обеспечение на основе Python?

Как выглядит сопрограмма каксамая неиспользуемая функция в Python?

Ответы [ 5 ]

4 голосов
/ 23 апреля 2011

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

3 голосов
/ 23 апреля 2011

Twisted defer.inlineCallbacks превращает ваши функции в сопрограммы.

2 голосов
/ 14 мая 2012

Поскольку Python действительно богат (асинхронными) фреймворками, я покажу две фреймворки, основанные на сопрограмме:

1. Eventlet - это параллельная сетевая библиотека для Python , Сопрограммы гарантируют, что разработчик использует стиль программирования с блокировкой, который похож на многопоточность, но обеспечивает преимущества неблокирующего ввода-вывода.

2. Chiral - это облегченная сетевая среда на основе сопрограмм для высокопроизводительных интернет- и веб-сервисов.

1 голос
/ 09 ноября 2012

Также Торнадо советует использовать их в своей документации .

0 голосов
/ 01 декабря 2015

В python3 существует множество проектов, в которых используются сопрограммы. Проверьте ресурсы на сайте www.asyncio.org.

Для произвольного перечисления:

  • Curio - это структура параллелизма Дэвида Бизли (не использует asyncio)
  • aiozmq реализует асинхронный транспорт ZMQ с использованием сопрограмм
  • aioredis позволяет выполнять асинхронные операции Redis с использованием сопрограмм
...