Почтовые ящики с Stackless
Вопрос
В моем приложении без стека я хотел бы иметь очередь поля сообщений в стиле Erlang. Вместо того, чтобы поручить, что отправка задач заблокирована до тех пор, пока приемная задача не будет готова к получению, я бы хотел, чтобы отправляющая задача была в очереди в сообщении в окне сообщений приемника и смог разбудить получателя, если он спит.
Отправляющая задача должна быть в состоянии отправить сообщение, а затем продолжать выполнять, независимо от состояния принимающей задачи.
Я уверен, что есть способ сделать это, я просто еще не нашел ...
Решение
Это может быть не именно то, что вы ищете, но все же стоит попробовать:
Гевент это библиотека Python, которая обеспечивает API на высоком уровне над Гринлетс, которые похожи на задачи (на самом деле, это дополнение к Python без стека. Однако есть некоторые различия: вам не нужен специальный переводчик и еще несколько).
Gevent предоставляет API, похожий на нативную очередь Python - т.е. вы можете поместить в него объекты, читать из него (блокировка или не блокировка, с таймаутами или без них).