Зачем нам нужен gevent.queue?
Я понимаю, что Gevent - это просто параллелизм, а не параллелизм. Мое понимание механизмов параллелизма, таких как Gevent и AsyncIO, заключается в том, что в приложении Python ничего не выполняется одновременно.
Наиболее близким является то, что вы вызываете неблокирующий метод ввода-вывода и ожидаете, пока этот вызов вернет другие методы в приложении Python, которые могут быть выполнены. Опять же, ни один из методов в приложении Python фактически не выполняет код Python одновременно.
С учетом сказанного, зачем нужен gevent.queue? Мне кажется, что приложению Python не нужно беспокоиться о более чем одном методе Python, обращающемся к экземпляру очереди за раз.
Я уверен, что есть сценарий, который я не вижу, чтобы исправить gevent.queue, мне просто интересно, что это такое.
1 ответ
Хотя вы правы в том, что никакие два оператора не выполняются одновременно в рамках одного процесса Python, вы можете убедиться, что ряд операторов выполняется атомарно, или вы можете захотеть навести порядок на выполнение определенных операторов, и в этом такие вещи, как gevent.queue
стать полезным. Учебник здесь.